Message ID | 1369993379-13017-24-git-send-email-jack@suse.cz |
---|---|
State | Accepted, archived |
Headers | show |
On Fri, May 31, 2013 at 11:42:56AM +0200, Jan Kara wrote: > After removal of ext4_flush_unwritten_io() call, ext4_file_sync() > doesn't need i_mutex anymore. Forcing of transaction commits doesn't > need i_mutex as there's nothing inode specific in that code apart from > grabbing transaction ids from the inode. So remove the lock. > > Reviewed-by: Zheng Liu <wenqing.lz@taobao.com> > Signed-off-by: Jan Kara <jack@suse.cz> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index 6019bd4..fc938eb 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c @@ -99,20 +99,18 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) trace_ext4_sync_file_enter(file, datasync); if (inode->i_sb->s_flags & MS_RDONLY) - goto out_trace; + goto out; if (!journal) { ret = generic_file_fsync(file, start, end, datasync); if (!ret && !hlist_empty(&inode->i_dentry)) ret = ext4_sync_parent(inode); - goto out_trace; + goto out; } ret = filemap_write_and_wait_range(inode->i_mapping, start, end); if (ret) return ret; - mutex_lock(&inode->i_mutex); - /* * data=writeback,ordered: * The caller's filemap_fdatawrite()/wait will sync the data. @@ -143,8 +141,6 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) ret = err; } out: - mutex_unlock(&inode->i_mutex); -out_trace: trace_ext4_sync_file_exit(inode, ret); return ret; }