Index: linux-2.6.18.i386/fs/ext4/ext4.h =================================================================== --- linux-2.6.18.i386.orig/fs/ext4/ext4.h +++ linux-2.6.18.i386/fs/ext4/ext4.h @@ -995,6 +995,13 @@ struct mmp_struct { extern struct proc_dir_entry *proc_root_ext4; /* + * Indicates that ctime should not be updated in ext4_xattr_set_handle() + */ +#ifndef XATTR_NO_CTIME +#define XATTR_NO_CTIME 0x80 +#endif + +/* * Function prototypes */ Index: linux-2.6.18.i386/fs/ext4/xattr.c =================================================================== --- linux-2.6.18.i386.orig/fs/ext4/xattr.c +++ linux-2.6.18.i386/fs/ext4/xattr.c @@ -1026,7 +1026,8 @@ ext4_xattr_set_handle(handle_t *handle, } if (!error) { ext4_xattr_update_super_block(handle, inode->i_sb); - inode->i_ctime = ext4_current_time(inode); + if (!(flags & XATTR_NO_CTIME)) + inode->i_ctime = ext4_current_time(inode); if (!value) EXT4_I(inode)->i_state &= ~EXT4_STATE_NO_EXPAND; error = ext4_mark_iloc_dirty(handle, inode, &is.iloc);