diff mbox series

freevxfs: derive f_fsid from bdev->bd_dev

Message ID 20231024121457.3014063-1-amir73il@gmail.com (mailing list archive)
State New, archived
Headers show
Series freevxfs: derive f_fsid from bdev->bd_dev | expand

Commit Message

Amir Goldstein Oct. 24, 2023, 12:14 p.m. UTC
The majority of blockdev filesystems, which do not have a UUID in their
on-disk format, derive f_fsid of statfs(2) from bdev->bd_dev.

Use the same practice for freevxfs.

This will allow reporting fanotify events with fanotify_event_info_fid.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---

Christoph,

This is only compiled tested, but the change is quite trivial.
Could you pick up this patch? or ACK it so that Christian can take it?

Thanks,
Amir.

 fs/freevxfs/vxfs_super.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Christoph Hellwig Oct. 25, 2023, 2:28 p.m. UTC | #1
Looks good to me:

Reviewed-by: Christoph Hellwig <hch@lst.de>

Christian, can you pick it up in the vfs tree?
Christian Brauner Oct. 25, 2023, 8:52 p.m. UTC | #2
On Tue, 24 Oct 2023 15:14:57 +0300, Amir Goldstein wrote:
> The majority of blockdev filesystems, which do not have a UUID in their
> on-disk format, derive f_fsid of statfs(2) from bdev->bd_dev.
> 
> Use the same practice for freevxfs.
> 
> This will allow reporting fanotify events with fanotify_event_info_fid.
> 
> [...]

Applied to the vfs.f_fsid branch of the vfs/vfs.git tree.
Patches in the vfs.f_fsid branch should appear in linux-next soon.

Please report any outstanding bugs that were missed during review in a
new review to the original patch series allowing us to drop it.

It's encouraged to provide Acked-bys and Reviewed-bys even though the
patch has now been applied. If possible patch trailers will be updated.

Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. If in doubt, please check the listed branch.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
branch: vfs.f_fsid

[1/1] freevxfs: derive f_fsid from bdev->bd_dev
      https://git.kernel.org/vfs/vfs/c/462e67783c2e
diff mbox series

Patch

diff --git a/fs/freevxfs/vxfs_super.c b/fs/freevxfs/vxfs_super.c
index 310d73e254df..f13f47fd4279 100644
--- a/fs/freevxfs/vxfs_super.c
+++ b/fs/freevxfs/vxfs_super.c
@@ -76,6 +76,7 @@  vxfs_statfs(struct dentry *dentry, struct kstatfs *bufp)
 {
 	struct vxfs_sb_info		*infp = VXFS_SBI(dentry->d_sb);
 	struct vxfs_sb *raw_sb = infp->vsi_raw;
+	u64 id = huge_encode_dev(dentry->d_sb->s_bdev->bd_dev);
 
 	bufp->f_type = VXFS_SUPER_MAGIC;
 	bufp->f_bsize = dentry->d_sb->s_blocksize;
@@ -84,6 +85,7 @@  vxfs_statfs(struct dentry *dentry, struct kstatfs *bufp)
 	bufp->f_bavail = 0;
 	bufp->f_files = 0;
 	bufp->f_ffree = fs32_to_cpu(infp, raw_sb->vs_ifree);
+	bufp->f_fsid = u64_to_fsid(id);
 	bufp->f_namelen = VXFS_NAMELEN;
 
 	return 0;