2009-01-19 17:33:48

by Coly Li

[permalink] [raw]
Subject: [PATCH 17/20] fs/squashfs: return f_fsid for statfs(2)

This patch makes squashfs return f_fsid info for statfs(2).

Signed-off-by: Coly Li <[email protected]>
Cc: Phillip Lougher <[email protected]>
---
fs/squashfs/super.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
index 071df5b..0a65d16 100644
--- a/fs/squashfs/super.c
+++ b/fs/squashfs/super.c
@@ -301,6 +301,7 @@ failure:
static int squashfs_statfs(struct dentry *dentry, struct kstatfs *buf)
{
struct squashfs_sb_info *msblk = dentry->d_sb->s_fs_info;
+ u64 id = huge_encode_dev(dentry->d_sb->s_bdev->bd_dev);

TRACE("Entered squashfs_statfs\n");

@@ -311,6 +312,8 @@ static int squashfs_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_files = msblk->inodes;
buf->f_ffree = 0;
buf->f_namelen = SQUASHFS_NAME_LEN;
+ buf->f_fsid.val[0] = (u32)id;
+ buf->f_fsid.val[1] = (u32)(id >> 32);

return 0;
}

--
Coly Li
SuSE Labs