Whamcloud - gitweb
b=22755 Don't consume grant twice on recoverable resend
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / ext4-inode-version-rhel5.patch
index d8a31ad..42b5ce7 100644 (file)
@@ -37,10 +37,10 @@ Index: linux-2.6.18-128.1.6/fs/ext4/inode.c
                raw_inode->i_extra_isize = cpu_to_le16(ei->i_extra_isize);
        }
  
-Index: linux-2.6.18-128.1.6/fs/ext4/ext4_i.h
+Index: linux-2.6.18-128.1.6/fs/ext4/ext4.h
 ===================================================================
---- linux-2.6.18-128.1.6.orig/fs/ext4/ext4_i.h
-+++ linux-2.6.18-128.1.6/fs/ext4/ext4_i.h
+--- linux-2.6.18-128.1.6.orig/fs/ext4/ext4.h
++++ linux-2.6.18-128.1.6/fs/ext4/ext4.h
 @@ -21,6 +21,8 @@
  #include <linux/seqlock.h>
  #include <linux/mutex.h>
@@ -51,54 +51,22 @@ Index: linux-2.6.18-128.1.6/fs/ext4/ext4_i.h
  typedef int ext4_grpblk_t;
  
 @@ -164,6 +166,8 @@ struct ext4_inode_info {
-       spinlock_t i_prealloc_lock;
-       void *i_filterdata;
+       struct list_head i_aio_dio_complete_list;
+       /* current io_end structure for async DIO write*/
+       ext4_io_end_t *cur_aio_dio;
 +
 +      __u64 i_fs_version;
  };
  
- #endif        /* _EXT4_I */
-Index: linux-2.6.18-128.1.6/fs/ext4/xattr.c
-===================================================================
---- linux-2.6.18-128.1.6.orig/fs/ext4/xattr.c
-+++ linux-2.6.18-128.1.6/fs/ext4/xattr.c
-@@ -959,13 +959,18 @@ ext4_xattr_set_handle(handle_t *handle, 
-       struct ext4_xattr_block_find bs = {
-               .s = { .not_found = -ENODATA, },
-       };
-+      unsigned long no_expand;
-       int error;
-       if (!name)
-               return -EINVAL;
-       if (strlen(name) > 255)
-               return -ERANGE;
-+
-       down_write(&EXT4_I(inode)->xattr_sem);
-+      no_expand = EXT4_I(inode)->i_state & EXT4_STATE_NO_EXPAND;
-+      EXT4_I(inode)->i_state |= EXT4_STATE_NO_EXPAND;
-+
-       error = ext4_get_inode_loc(inode, &is.iloc);
-       if (error)
-               goto cleanup;
-@@ -1042,6 +1047,8 @@ ext4_xattr_set_handle(handle_t *handle, 
- cleanup:
-       brelse(is.iloc.bh);
-       brelse(bs.bh);
-+      if (no_expand == 0)
-+              EXT4_I(inode)->i_state &= ~EXT4_STATE_NO_EXPAND;
-       up_write(&EXT4_I(inode)->xattr_sem);
-       return error;
- }
+ /*
 Index: linux-2.6.18-128.1.6/fs/ext4/ialloc.c
 ===================================================================
 --- linux-2.6.18-128.1.6.orig/fs/ext4/ialloc.c
 +++ linux-2.6.18-128.1.6/fs/ext4/ialloc.c
 @@ -878,6 +878,7 @@ got:
-       ei->i_dtime = 0;
        ei->i_block_alloc_info = NULL;
        ei->i_block_group = group;
+       ei->i_last_alloc_group = ~0;
 +      ei->i_fs_version = 0;
  
        ext4_set_inode_flags(inode);