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?????%??檩??w?{.n???{饼?z鳐??骅w*jg????????G??⒏⒎?:+v????????????"??????