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

Reply via email to