[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <2013020410070150879010@gmail.com>
Date: Mon, 4 Feb 2013 10:07:05 +0800
From: majianpeng <majianpeng@...il.com>
To: "Jens Axboe" <jaxboe@...ionio.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: For the condition "file->f_mode", when it failed, it should return EACCES rather than EBADF.
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!
Powered by blists - more mailing lists