Re: [PATCH v2 2/2] fs: add the ability for statmount() to report the mount devicename

From: Jan Kara
Date: Thu Nov 07 2024 - 04:40:59 EST


On Wed 06-11-24 14:53:06, Jeff Layton wrote:
> /proc/self/mountinfo displays the devicename for the mount, but
> statmount() doesn't yet have a way to return it. Add a new
> STATMOUNT_MNT_DEVNAME flag, claim the 32-bit __spare1 field to hold the
> offset into the str[] array. STATMOUNT_MNT_DEVNAME will only be set in
> the return mask if there is a device string.
>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>

Just one question below:

> @@ -5078,6 +5091,12 @@ static int statmount_string(struct kstatmount *s, u64 flag)
> if (seq->count == sm->fs_subtype)
> return 0;
> break;
> + case STATMOUNT_MNT_DEVNAME:
> + sm->mnt_devname = seq->count;
> + ret = statmount_mnt_devname(s, seq);
> + if (seq->count == sm->mnt_devname)

Why this odd check? Why don't you rather do:
if (ret)
?

> + return ret;
> + break;
> default:
> WARN_ON_ONCE(true);
> return -EINVAL;

Honza

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR