Whamcloud - gitweb
b=19875
authorgirish <girish>
Fri, 19 Jun 2009 11:24:46 +0000 (11:24 +0000)
committergirish <girish>
Fri, 19 Jun 2009 11:24:46 +0000 (11:24 +0000)
i=johann
i=adilger

use i_fs_version in sles11

ldiskfs/kernel_patches/patches/ext4-lustre-i_version.patch [new file with mode: 0644]
ldiskfs/kernel_patches/series/ldiskfs-2.6-sles11.series

diff --git a/ldiskfs/kernel_patches/patches/ext4-lustre-i_version.patch b/ldiskfs/kernel_patches/patches/ext4-lustre-i_version.patch
new file mode 100644 (file)
index 0000000..c78c2e0
--- /dev/null
@@ -0,0 +1,66 @@
+Index: linux-2.6.27.21-0.1/fs/ext4/ext4_i.h
+===================================================================
+--- linux-2.6.27.21-0.1.orig/fs/ext4/ext4_i.h  2009-06-15 06:23:34.000000000 -0400
++++ linux-2.6.27.21-0.1/fs/ext4/ext4_i.h       2009-06-15 17:09:59.000000000 -0400
+@@ -36,6 +36,8 @@ typedef unsigned int ext4_group_t;
+ #define rsv_start rsv_window._rsv_start
+ #define rsv_end rsv_window._rsv_end
++#define USE_I_FS_VERSION
++
+ /*
+  * storage for cached extent
+  */
+@@ -138,6 +140,8 @@ struct ext4_inode_info {
+       spinlock_t i_block_reservation_lock;
+       void *i_filterdata;
++
++      __u64 i_fs_version;
+ };
+ #endif        /* _EXT4_I */
+Index: linux-2.6.27.21-0.1/fs/ext4/ialloc.c
+===================================================================
+--- linux-2.6.27.21-0.1.orig/fs/ext4/ialloc.c  2009-06-15 06:23:34.000000000 -0400
++++ linux-2.6.27.21-0.1/fs/ext4/ialloc.c       2009-06-15 16:59:35.000000000 -0400
+@@ -888,6 +888,7 @@ got:
+       ei->i_file_acl = 0;
+       ei->i_dtime = 0;
+       ei->i_block_group = group;
++      ei->i_fs_version = 0;
+       ext4_set_inode_flags(inode);
+       if (IS_DIRSYNC(inode))
+Index: linux-2.6.27.21-0.1/fs/ext4/inode.c
+===================================================================
+--- linux-2.6.27.21-0.1.orig/fs/ext4/inode.c   2009-06-15 06:23:34.000000000 -0400
++++ linux-2.6.27.21-0.1/fs/ext4/inode.c        2009-06-15 17:01:11.000000000 -0400
+@@ -4201,10 +4201,10 @@ struct inode *ext4_iget(struct super_blo
+       EXT4_INODE_GET_XTIME(i_atime, inode, raw_inode);
+       EXT4_EINODE_GET_XTIME(i_crtime, ei, raw_inode);
+-      inode->i_version = le32_to_cpu(raw_inode->i_disk_version);
++      ei->i_fs_version = le32_to_cpu(raw_inode->i_disk_version);
+       if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE) {
+               if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi))
+-                      inode->i_version |=
++                      ei->i_fs_version |=
+                       (__u64)(le32_to_cpu(raw_inode->i_version_hi)) << 32;
+       }
+@@ -4383,11 +4383,11 @@ static int ext4_do_update_inode(handle_t
+       } else for (block = 0; block < EXT4_N_BLOCKS; block++)
+               raw_inode->i_block[block] = ei->i_data[block];
+-      raw_inode->i_disk_version = cpu_to_le32(inode->i_version);
++      raw_inode->i_disk_version = cpu_to_le32(ei->i_fs_version);
+       if (ei->i_extra_isize) {
+               if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi))
+                       raw_inode->i_version_hi =
+-                      cpu_to_le32(inode->i_version >> 32);
++                      cpu_to_le32(ei->i_fs_version >> 32);
+               raw_inode->i_extra_isize = cpu_to_le16(ei->i_extra_isize);
+       }
+
index 307047b..577c091 100644 (file)
@@ -21,3 +21,4 @@ ext4-remove-ioctl-filp-sles11.patch
 ext4-super-warning.patch
 ext4-alloc-policy-2.6-sles11.patch
 ext4-disable-delalloc-sles11.patch
+ext4-lustre-i_version.patch