2009-01-20 15:59:45

by Coly Li

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

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 <[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..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





2009-01-27 13:26:21

by Dave Kleikamp

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

Andrew,
Please take this version of the jfs patch, rather than the one you
currently have in the -mm tree (fs-jfs-return-f_fsid-for-statfs2.patch).

Thanks,
Shaggy

On Wed, 2009-01-21 at 00:05 +0800, Coly Li wrote:
> 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 <[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..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;
> }
>
--
David Kleikamp
IBM Linux Technology Center

2009-01-27 16:06:43

by Dave Kleikamp

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

On Tue, 2009-01-27 at 07:26 -0600, Dave Kleikamp wrote:
> Andrew,
> Please take this version of the jfs patch, rather than the one you
> currently have in the -mm tree (fs-jfs-return-f_fsid-for-statfs2.patch).

... or would you rather I handle it though the jfs tree and you drop it?

Shaggy

> On Wed, 2009-01-21 at 00:05 +0800, Coly Li wrote:
> > 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 <[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..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;
> > }
> >
--
David Kleikamp
IBM Linux Technology Center

2009-01-27 16:44:20

by Andrew Morton

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

On Tue, 27 Jan 2009 10:06:29 -0600 Dave Kleikamp <[email protected]> wrote:

> On Tue, 2009-01-27 at 07:26 -0600, Dave Kleikamp wrote:
> > Andrew,
> > Please take this version of the jfs patch, rather than the one you
> > currently have in the -mm tree (fs-jfs-return-f_fsid-for-statfs2.patch).

yep, I need to go lkml fishing for this.

> ... or would you rather I handle it though the jfs tree and you drop it?

that would be preferable, thanks.

2009-01-27 17:31:22

by Dave Kleikamp

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

On Tue, 2009-01-27 at 08:43 -0800, Andrew Morton wrote:
> On Tue, 27 Jan 2009 10:06:29 -0600 Dave Kleikamp <[email protected]> wrote:
>
> > On Tue, 2009-01-27 at 07:26 -0600, Dave Kleikamp wrote:
> > > Andrew,
> > > Please take this version of the jfs patch, rather than the one you
> > > currently have in the -mm tree (fs-jfs-return-f_fsid-for-statfs2.patch).
>
> yep, I need to go lkml fishing for this.
>
> > ... or would you rather I handle it though the jfs tree and you drop it?
>
> that would be preferable, thanks.

Done

Shaggy
--
David Kleikamp
IBM Linux Technology Center