1 --- linux-2.6.18-194.3.1/fs/ext4/xattr.c 2010-11-23 21:13:35.000000000 -0800
2 +++ linux-2.6.18-194.3.1-liang/fs/ext4/xattr.c 2010-11-25 20:15:27.000000000 -0800
3 @@ -1050,7 +1050,7 @@ ext4_xattr_set_handle(handle_t *handle,
6 ext4_xattr_update_super_block(handle, inode->i_sb);
7 - if (!(flags & XATTR_NO_CTIME))
8 + if (!IS_NOCMTIME(inode) && !(flags & XATTR_NO_CTIME))
9 inode->i_ctime = ext4_current_time(inode);
11 EXT4_I(inode)->i_state &= ~EXT4_STATE_NO_EXPAND;
12 --- linux-2.6.18-194.3.1/fs/ext4/namei.c 2010-11-23 21:13:35.000000000 -0800
13 +++ linux-2.6.18-194.3.1-liang/fs/ext4/namei.c 2010-11-25 20:17:25.000000000 -0800
14 @@ -1465,7 +1465,8 @@ static int add_dirent_to_buf(handle_t *h
15 * happen is that the times are slightly out of date
16 * and/or different from the directory change time.
18 - dir->i_mtime = dir->i_ctime = ext4_current_time(dir);
19 + if (!IS_NOCMTIME(dir))
20 + dir->i_mtime = dir->i_ctime = ext4_current_time(dir);
21 ext4_update_dx_flag(dir);
23 ext4_mark_inode_dirty(handle, dir);