Messages in this thread Patch in this message | | | Date | Tue, 20 Jan 2009 15:06:44 +0800 | From | Coly Li <> | Subject | [PATCH 11/20] fs/jfs: return f_fsid for statfs(2), v2 |
| |
This patch makes jfs return f_fsid info for statfs(2). By Andreas' suggestion, this patch populates a persistent f_fsid between boots/mounts with help of on-disk uuid record.
Signed-off-by: Coly Li <coly.li@suse.de> Cc: Dave Kleikamp <shaggy@austin.ibm.com> --- fs/jfs/super.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index b37d1f7..6ce1aac 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c @@ -29,6 +29,7 @@ #include <linux/posix_acl.h> #include <linux/buffer_head.h> #include <linux/exportfs.h> +#include <linux/crc32.h> #include <asm/uaccess.h> #include <linux/seq_file.h>
@@ -168,7 +169,10 @@ static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf) buf->f_files = maxinodes; buf->f_ffree = maxinodes - (atomic_read(&imap->im_numinos) - atomic_read(&imap->im_numfree)); - + buf->f_fsid.val[0] = (u32)crc32_le(0, sbi->uuid, sizeof(sbi->uuid)/2); + buf->f_fsid.val[1] = (u32)crc32_le(0, sbi->uuid + sizeof(sbi->uuid)/2, + sizeof(sbi->uuid)/2); + buf->f_namelen = JFS_NAME_MAX; return 0; } -- Coly Li SuSE Labs
| |