X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=ldiskfs%2Fkernel_patches%2Fpatches%2Fext4-wantedi-2.6-sles11.patch;h=76c0c9ab547a7a14c2e72efb85304c6ad7619da6;hp=914ed9c5a51028bd1c85014fd5c5c28a79f1db21;hb=b1a9e5d2f2ebdb808cb40a4aa86bafd459873141;hpb=8fa04e97a59178f3ed03056f7a8a318b0cc024c6 diff --git a/ldiskfs/kernel_patches/patches/ext4-wantedi-2.6-sles11.patch b/ldiskfs/kernel_patches/patches/ext4-wantedi-2.6-sles11.patch index 914ed9c..76c0c9a 100644 --- a/ldiskfs/kernel_patches/patches/ext4-wantedi-2.6-sles11.patch +++ b/ldiskfs/kernel_patches/patches/ext4-wantedi-2.6-sles11.patch @@ -1,8 +1,8 @@ Index: linux-2.6.27.21-0.1/fs/ext4/ialloc.c =================================================================== ---- linux-2.6.27.21-0.1.orig/fs/ext4/ialloc.c -+++ linux-2.6.27.21-0.1/fs/ext4/ialloc.c -@@ -675,7 +675,8 @@ err_ret: +--- linux-2.6.27.21-0.1.orig/fs/ext4/ialloc.c 2009-06-02 18:39:22.000000000 +0530 ++++ linux-2.6.27.21-0.1/fs/ext4/ialloc.c 2009-06-04 17:01:26.000000000 +0530 +@@ -675,7 +675,8 @@ * For other inodes, search forward from the parent directory's block * group to find a free inode. */ @@ -12,7 +12,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/ialloc.c { struct super_block *sb; struct buffer_head *inode_bitmap_bh = NULL; -@@ -706,6 +707,43 @@ struct inode *ext4_new_inode(handle_t *h +@@ -706,6 +707,48 @@ sbi = EXT4_SB(sb); es = sbi->s_es; @@ -49,6 +49,11 @@ Index: linux-2.6.27.21-0.1/fs/ext4/ialloc.c + /* We've shortcircuited the allocation system successfully, + * now finish filling in the inode. + */ ++ BUFFER_TRACE(group_desc_bh, "get_write_access"); ++ err = ext4_journal_get_write_access(handle, group_desc_bh); ++ if (err) ++ goto fail; ++ + goto got; + } + @@ -58,9 +63,9 @@ Index: linux-2.6.27.21-0.1/fs/ext4/ialloc.c goto got_group; Index: linux-2.6.27.21-0.1/fs/ext4/namei.c =================================================================== ---- linux-2.6.27.21-0.1.orig/fs/ext4/namei.c -+++ linux-2.6.27.21-0.1/fs/ext4/namei.c -@@ -104,6 +104,7 @@ struct dx_entry +--- linux-2.6.27.21-0.1.orig/fs/ext4/namei.c 2009-06-02 18:39:22.000000000 +0530 ++++ linux-2.6.27.21-0.1/fs/ext4/namei.c 2009-06-04 17:00:38.000000000 +0530 +@@ -104,6 +104,7 @@ __le32 block; }; @@ -68,7 +73,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c /* * dx_root_info is laid out so that if it should somehow get overlaid by a * dirent the two low bits of the hash version will be zero. Therefore, the -@@ -149,6 +150,14 @@ struct dx_map_entry +@@ -149,6 +150,14 @@ u16 size; }; @@ -83,7 +88,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c static inline ext4_lblk_t dx_get_block(struct dx_entry *entry); static void dx_set_block(struct dx_entry *entry, ext4_lblk_t value); static inline unsigned dx_get_hash(struct dx_entry *entry); -@@ -1716,6 +1725,20 @@ static int ext4_add_nondir(handle_t *han +@@ -1716,6 +1725,20 @@ return err; } @@ -104,7 +109,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c /* * By the time this is called, we already have created * the directory cache entry for the new file, but it -@@ -1741,7 +1764,7 @@ retry: +@@ -1741,7 +1764,7 @@ if (IS_DIRSYNC(dir)) handle->h_sync = 1; @@ -113,7 +118,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c err = PTR_ERR(inode); if (!IS_ERR(inode)) { inode->i_op = &ext4_file_inode_operations; -@@ -1775,7 +1798,7 @@ retry: +@@ -1775,7 +1798,7 @@ if (IS_DIRSYNC(dir)) handle->h_sync = 1; @@ -122,7 +127,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c err = PTR_ERR(inode); if (!IS_ERR(inode)) { init_special_inode(inode, inode->i_mode, rdev); -@@ -1811,7 +1834,7 @@ retry: +@@ -1811,7 +1834,7 @@ if (IS_DIRSYNC(dir)) handle->h_sync = 1; @@ -131,7 +136,7 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c err = PTR_ERR(inode); if (IS_ERR(inode)) goto out_stop; -@@ -2211,7 +2234,7 @@ retry: +@@ -2211,7 +2234,7 @@ if (IS_DIRSYNC(dir)) handle->h_sync = 1; @@ -142,9 +147,9 @@ Index: linux-2.6.27.21-0.1/fs/ext4/namei.c goto out_stop; Index: linux-2.6.27.21-0.1/fs/ext4/ext4.h =================================================================== ---- linux-2.6.27.21-0.1.orig/fs/ext4/ext4.h -+++ linux-2.6.27.21-0.1/fs/ext4/ext4.h -@@ -1032,7 +1032,8 @@ extern int ext4fs_dirhash(const char *na +--- linux-2.6.27.21-0.1.orig/fs/ext4/ext4.h 2009-06-02 18:39:22.000000000 +0530 ++++ linux-2.6.27.21-0.1/fs/ext4/ext4.h 2009-06-04 17:00:38.000000000 +0530 +@@ -1032,7 +1032,8 @@ dx_hash_info *hinfo); /* ialloc.c */ @@ -156,9 +161,9 @@ Index: linux-2.6.27.21-0.1/fs/ext4/ext4.h extern unsigned long ext4_count_free_inodes(struct super_block *); Index: linux-2.6.27.21-0.1/fs/ext4/migrate.c =================================================================== ---- linux-2.6.27.21-0.1.orig/fs/ext4/migrate.c -+++ linux-2.6.27.21-0.1/fs/ext4/migrate.c -@@ -484,7 +484,7 @@ int ext4_ext_migrate(struct inode *inode +--- linux-2.6.27.21-0.1.orig/fs/ext4/migrate.c 2009-06-02 18:39:22.000000000 +0530 ++++ linux-2.6.27.21-0.1/fs/ext4/migrate.c 2009-06-04 17:00:38.000000000 +0530 +@@ -484,7 +484,7 @@ } tmp_inode = ext4_new_inode(handle, inode->i_sb->s_root->d_inode,