jfs: return f_fsid for statfs(2)
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> Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
This commit is contained in:
parent
fec1878fe9
commit
b5c816a4f1
|
@ -29,6 +29,7 @@
|
||||||
#include <linux/posix_acl.h>
|
#include <linux/posix_acl.h>
|
||||||
#include <linux/buffer_head.h>
|
#include <linux/buffer_head.h>
|
||||||
#include <linux/exportfs.h>
|
#include <linux/exportfs.h>
|
||||||
|
#include <linux/crc32.h>
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
|
|
||||||
|
@ -168,6 +169,9 @@ static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf)
|
||||||
buf->f_files = maxinodes;
|
buf->f_files = maxinodes;
|
||||||
buf->f_ffree = maxinodes - (atomic_read(&imap->im_numinos) -
|
buf->f_ffree = maxinodes - (atomic_read(&imap->im_numinos) -
|
||||||
atomic_read(&imap->im_numfree));
|
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;
|
buf->f_namelen = JFS_NAME_MAX;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue