2009-01-19 17:31:05

by Coly Li

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

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

Signed-off-by: Coly Li <[email protected]>
Cc: Dave Kleikamp <[email protected]>
---
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..7969c2f 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -143,8 +143,10 @@ static void jfs_destroy_inode(struct inode *inode)

static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf)
{
- struct jfs_sb_info *sbi = JFS_SBI(dentry->d_sb);
+ struct super_block *sb = dentry->d_sb;
+ struct jfs_sb_info *sbi = JFS_SBI(sb);
s64 maxinodes;
+ u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
struct inomap *imap = JFS_IP(sbi->ipimap)->i_imap;

jfs_info("In jfs_statfs");
@@ -168,6 +170,8 @@ 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)id;
+ buf->f_fsid.val[1] = (u32)(id >> 32);

buf->f_namelen = JFS_NAME_MAX;
return 0;

--
Coly Li
SuSE Labs



2009-01-19 19:35:39

by Dave Kleikamp

[permalink] [raw]
Subject: Re: [PATCH 11/20] fs/jfs: return f_fsid for statfs(2)

On Tue, 2009-01-20 at 01:34 +0800, Coly Li wrote:
> This patch makes jfs return f_fsid info for statfs(2).
>
> Signed-off-by: Coly Li <[email protected]>

Acked-by: Dave Kleikamp <[email protected]>

> ---
> 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..7969c2f 100644
> --- a/fs/jfs/super.c
> +++ b/fs/jfs/super.c
> @@ -143,8 +143,10 @@ static void jfs_destroy_inode(struct inode *inode)
>
> static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf)
> {
> - struct jfs_sb_info *sbi = JFS_SBI(dentry->d_sb);
> + struct super_block *sb = dentry->d_sb;
> + struct jfs_sb_info *sbi = JFS_SBI(sb);
> s64 maxinodes;
> + u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
> struct inomap *imap = JFS_IP(sbi->ipimap)->i_imap;
>
> jfs_info("In jfs_statfs");
> @@ -168,6 +170,8 @@ 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)id;
> + buf->f_fsid.val[1] = (u32)(id >> 32);
>
> buf->f_namelen = JFS_NAME_MAX;
> return 0;
>
--
David Kleikamp
IBM Linux Technology Center