2007-03-18 10:12:51

by Kalpak Shah

[permalink] [raw]
Subject: [PATCH] Add i_version_hi for 64-bit version

Hi,

This patch adds a 32-bit i_version_hi field to ext4_inode, which can be used for 64-bit inode versions. This field will store the higher 32 bits of the version, while Jean Noel's patch has added support to store the lower 32-bits in osd1.linux1.l_i_version.

Signed-off-by: Andreas Dilger <[email protected]>
Signed-off-by: Kalpak Shah <[email protected]>

Index: linux-2.6.20/include/linux/ext4_fs.h
===================================================================
--- linux-2.6.20.orig/include/linux/ext4_fs.h
+++ linux-2.6.20/include/linux/ext4_fs.h
@@ -336,6 +336,7 @@ struct ext4_inode {
__le32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */
__le32 i_crtime; /* File Creation time */
__le32 i_crtime_extra; /* extra File Creation time (nsec << 2 | epoch) */
+ __u32 i_version_hi; /* high 32 bits for 64-bit version */
};

#define i_size_high i_dir_acl

Thanks,
Kalpak <[email protected]>


2007-03-19 15:35:56

by Dave Kleikamp

[permalink] [raw]
Subject: Re: [PATCH] Add i_version_hi for 64-bit version

On Sun, 2007-03-18 at 15:43 +0530, Kalpak Shah wrote:
> Hi,
>
> This patch adds a 32-bit i_version_hi field to ext4_inode, which can be used for 64-bit inode versions. This field will store the higher 32 bits of the version, while Jean Noel's patch has added support to store the lower 32-bits in osd1.linux1.l_i_version.
>
> Signed-off-by: Andreas Dilger <[email protected]>
> Signed-off-by: Kalpak Shah <[email protected]>
>
> Index: linux-2.6.20/include/linux/ext4_fs.h
> ===================================================================
> --- linux-2.6.20.orig/include/linux/ext4_fs.h
> +++ linux-2.6.20/include/linux/ext4_fs.h
> @@ -336,6 +336,7 @@ struct ext4_inode {
> __le32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */
> __le32 i_crtime; /* File Creation time */
> __le32 i_crtime_extra; /* extra File Creation time (nsec << 2 | epoch) */
> + __u32 i_version_hi; /* high 32 bits for 64-bit version */
> };

This is whitespace damaged. I see spaces instead of tabs.

>
> #define i_size_high i_dir_acl
>
> Thanks,
> Kalpak <[email protected]>

Thanks,
Shaggy
--
David Kleikamp
IBM Linux Technology Center

2007-04-02 21:47:41

by Mingming Cao

[permalink] [raw]
Subject: Re: [PATCH] Add i_version_hi for 64-bit version

On Sun, 2007-03-18 at 15:43 +0530, Kalpak Shah wrote:
> Hi,
>
> This patch adds a 32-bit i_version_hi field to ext4_inode, which can be used for 64-bit inode versions. This field will store the higher 32 bits of the version, while Jean Noel's patch has added support to store the lower 32-bits in osd1.linux1.l_i_version.
>
> Signed-off-by: Andreas Dilger <[email protected]>
> Signed-off-by: Kalpak Shah <[email protected]>
>
> Index: linux-2.6.20/include/linux/ext4_fs.h
> ===================================================================
> --- linux-2.6.20.orig/include/linux/ext4_fs.h
> +++ linux-2.6.20/include/linux/ext4_fs.h
> @@ -336,6 +336,7 @@ struct ext4_inode {
> __le32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */
> __le32 i_crtime; /* File Creation time */
> __le32 i_crtime_extra; /* extra File Creation time (nsec << 2 | epoch) */
> + __u32 i_version_hi; /* high 32 bits for 64-bit version */
> };
>

Any reason not using __le32 for the i_version_hi?


Thanks,
Mingming

2007-04-02 23:29:25

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH] Add i_version_hi for 64-bit version

On Apr 02, 2007 14:47 -0700, Mingming Cao wrote:
> On Sun, 2007-03-18 at 15:43 +0530, Kalpak Shah wrote:
> > This patch adds a 32-bit i_version_hi field to ext4_inode, which can be used for 64-bit inode versions. This field will store the higher 32 bits of the version, while Jean Noel's patch has added support to store the lower 32-bits in osd1.linux1.l_i_version.
> >
> > Signed-off-by: Andreas Dilger <[email protected]>
> > Signed-off-by: Kalpak Shah <[email protected]>
> >
> > Index: linux-2.6.20/include/linux/ext4_fs.h
> > ===================================================================
> > --- linux-2.6.20.orig/include/linux/ext4_fs.h
> > +++ linux-2.6.20/include/linux/ext4_fs.h
> > @@ -336,6 +336,7 @@ struct ext4_inode {
> > __le32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */
> > __le32 i_crtime; /* File Creation time */
> > __le32 i_crtime_extra; /* extra File Creation time (nsec << 2 | epoch) */
> > + __u32 i_version_hi; /* high 32 bits for 64-bit version */
> > };
> >
>
> Any reason not using __le32 for the i_version_hi?

Not really. I've also asked Kalpak to run sparse with Shaggy's flags
against the other patches to fix up any similar issues.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.