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>
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);