From: Dave Chinner <david@fromorbit.com>
To: Leesoo Ahn <lsahn@ooseel.net>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
Leesoo Ahn <lsahn@wewakecorp.com>
Subject: Re: [PATCH v2] fs: inode: return proper error code in bmap()
Date: Sun, 16 Jul 2023 09:36:41 +1000 [thread overview]
Message-ID: <ZLMtifV5ta5VTQ2e@dread.disaster.area> (raw)
In-Reply-To: <20230715082204.1598206-1-lsahn@wewakecorp.com>
On Sat, Jul 15, 2023 at 05:22:04PM +0900, Leesoo Ahn wrote:
> Return -EOPNOTSUPP instead of -EINVAL which has the meaning of
> the argument is an inappropriate value. The current error code doesn't
> make sense to represent that a file system doesn't support bmap operation.
>
> Signed-off-by: Leesoo Ahn <lsahn@wewakecorp.com>
> ---
> Changes since v1:
> - Modify the comments of bmap()
> - Modify subject and description requested by Markus Elfring
> https://lore.kernel.org/lkml/20230715060217.1469690-1-lsahn@wewakecorp.com/
>
> fs/inode.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/inode.c b/fs/inode.c
> index 8fefb69e1f84..697c51ed226a 100644
> --- a/fs/inode.c
> +++ b/fs/inode.c
> @@ -1831,13 +1831,13 @@ EXPORT_SYMBOL(iput);
> * 4 in ``*block``, with disk block relative to the disk start that holds that
> * block of the file.
> *
> - * Returns -EINVAL in case of error, 0 otherwise. If mapping falls into a
> + * Returns -EOPNOTSUPP in case of error, 0 otherwise. If mapping falls into a
> * hole, returns 0 and ``*block`` is also set to 0.
> */
> int bmap(struct inode *inode, sector_t *block)
> {
> if (!inode->i_mapping->a_ops->bmap)
> - return -EINVAL;
> + return -EOPNOTSUPP;
>
> *block = inode->i_mapping->a_ops->bmap(inode->i_mapping, *block);
> return 0;
What about the CONFIG_BLOCK=n wrapper?
Also, all the in kernel consumers squash this error back to 0, -EIO
or -EINVAL, so this change only ever propagates out to userspace via
the return from ioctl(FIBMAP). Do we really need to change this and
risk breaking userspace that handles -EINVAL correctly but not
-EOPNOTSUPP?
-Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2023-07-15 23:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-15 8:22 [PATCH v2] fs: inode: return proper error code in bmap() Leesoo Ahn
[not found] ` <cca223c5-b512-3913-a796-fa15341927ff@web.de>
2023-07-15 13:20 ` Leesoo Ahn
2023-07-15 14:56 ` Matthew Wilcox
2023-07-17 15:11 ` Leesoo Ahn
2023-07-15 23:36 ` Dave Chinner [this message]
2023-07-17 15:08 ` Leesoo Ahn
2023-07-17 23:08 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZLMtifV5ta5VTQ2e@dread.disaster.area \
--to=david@fromorbit.com \
--cc=brauner@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lsahn@ooseel.net \
--cc=lsahn@wewakecorp.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.