浏览代码

ext3: Remove i_mutex from ext3_sync_file()

ext3_sync_file() does not need i_mutex for anything so just drop it.

Signed-off-by: Jan Kara <jack@suse.cz>
Jan Kara 14 年之前
父节点
当前提交
5a0143a4f0
共有 1 个文件被更改,包括 0 次插入10 次删除
  1. 0 10
      fs/ext3/fsync.c

+ 0 - 10
fs/ext3/fsync.c

@@ -61,13 +61,6 @@ int ext3_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
 	if (ret)
 	if (ret)
 		goto out;
 		goto out;
 
 
-	/*
-	 * Taking the mutex here just to keep consistent with how fsync was
-	 * called previously, however it looks like we don't need to take
-	 * i_mutex at all.
-	 */
-	mutex_lock(&inode->i_mutex);
-
 	J_ASSERT(ext3_journal_current_handle() == NULL);
 	J_ASSERT(ext3_journal_current_handle() == NULL);
 
 
 	/*
 	/*
@@ -85,7 +78,6 @@ int ext3_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
 	 *  safe in-journal, which is all fsync() needs to ensure.
 	 *  safe in-journal, which is all fsync() needs to ensure.
 	 */
 	 */
 	if (ext3_should_journal_data(inode)) {
 	if (ext3_should_journal_data(inode)) {
-		mutex_unlock(&inode->i_mutex);
 		ret = ext3_force_commit(inode->i_sb);
 		ret = ext3_force_commit(inode->i_sb);
 		goto out;
 		goto out;
 	}
 	}
@@ -108,8 +100,6 @@ int ext3_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
 	 */
 	 */
 	if (needs_barrier)
 	if (needs_barrier)
 		blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL);
 		blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL);
-
-	mutex_unlock(&inode->i_mutex);
 out:
 out:
 	trace_ext3_sync_file_exit(inode, ret);
 	trace_ext3_sync_file_exit(inode, ret);
 	return ret;
 	return ret;