summaryrefslogtreecommitdiffstats
path: root/fs/affs
diff options
context:
space:
mode:
authorColy Li <coly.li@suse.de>2009-04-03 01:59:32 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-03 04:05:08 +0200
commita6a2a73c4dc6babba2cfa366305cb936fc469640 (patch)
treec99f6de9a85860957435d6d05b105c41863f5e40 /fs/affs
parentfs/adfs: return f_fsid for statfs(2) (diff)
downloadlinux-a6a2a73c4dc6babba2cfa366305cb936fc469640.tar.xz
linux-a6a2a73c4dc6babba2cfa366305cb936fc469640.zip
fs/affs: return f_fsid for statfs(2)
Make affs return f_fsid info for statfs(2). Signed-off-by: Coly Li <coly.li@suse.de> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/affs')
-rw-r--r--fs/affs/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/affs/super.c b/fs/affs/super.c
index a19d64b582aa..5ce695e707fe 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -533,6 +533,7 @@ affs_statfs(struct dentry *dentry, struct kstatfs *buf)
{
struct super_block *sb = dentry->d_sb;
int free;
+ u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
pr_debug("AFFS: statfs() partsize=%d, reserved=%d\n",AFFS_SB(sb)->s_partition_size,
AFFS_SB(sb)->s_reserved);
@@ -543,6 +544,9 @@ affs_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_blocks = AFFS_SB(sb)->s_partition_size - AFFS_SB(sb)->s_reserved;
buf->f_bfree = free;
buf->f_bavail = free;
+ buf->f_fsid.val[0] = (u32)id;
+ buf->f_fsid.val[1] = (u32)(id >> 32);
+ buf->f_namelen = 30;
return 0;
}