Hi all,
When I wanted to do discard operations,but i set the openflag was
O_RDONLY,it returned a EBADF rather than EACCES or EPERM.
I searched the code and found:
>case BLKDISCARD:
>case BLKSECDISCARD: {
> uint64_t range[2];
> if (!(mode & FMODE_WRITE))
> return -EBADF;
Initial i thought there was error.But i searched all code of kernel and found
some places like this.
The description of EBADF is "Bad file numbe". There are some places where
returned EBADF like,
>if (!f.file)
> return -EBADF;
So i think for checking file->f_mode when failed, it should return EACCESS.
Jianpeng Ma
Thanks!
N�Р骒r��y����b�X�肚�v�^�)藓{.n�+�伐�{��赙zXФ�≤�}��财�z�&j:+v�����赙zZ+��+zf"�h���~����i���z��wア�?�ㄨ��&�)撷f��^j谦y�m��@A�a囤�
0鹅h���i