From: girish Date: Fri, 19 Jun 2009 11:24:46 +0000 (+0000) Subject: b=19875 X-Git-Tag: v1_9_220~124 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=1b3b546c860c40555295780fad559ad91c10f0dc b=19875 i=johann i=adilger use i_fs_version in sles11 --- 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 index 0000000..c78c2e0 --- /dev/null +++ b/ldiskfs/kernel_patches/patches/ext4-lustre-i_version.patch @@ -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); + } + + diff --git a/ldiskfs/kernel_patches/series/ldiskfs-2.6-sles11.series b/ldiskfs/kernel_patches/series/ldiskfs-2.6-sles11.series index 307047b..577c091 100644 --- a/ldiskfs/kernel_patches/series/ldiskfs-2.6-sles11.series +++ b/ldiskfs/kernel_patches/series/ldiskfs-2.6-sles11.series @@ -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