]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ext3: Remove i_mutex from ext3_sync_file()
authorJan Kara <jack@suse.cz>
Thu, 28 Jul 2011 15:47:10 +0000 (17:47 +0200)
committerJan Kara <jack@suse.cz>
Wed, 17 Aug 2011 09:41:20 +0000 (11:41 +0200)
ext3_sync_file() does not need i_mutex for anything so just drop it.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext3/fsync.c

index d494c554c6e69e436e4dbccee6c9e5e3d6ab8060..1860ed3563235b8e7cfefbf57b98ed5d60575b7d 100644 (file)
@@ -61,13 +61,6 @@ int ext3_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
        if (ret)
                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);
 
        /*
@@ -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.
         */
        if (ext3_should_journal_data(inode)) {
-               mutex_unlock(&inode->i_mutex);
                ret = ext3_force_commit(inode->i_sb);
                goto out;
        }
@@ -108,8 +100,6 @@ int ext3_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
         */
        if (needs_barrier)
                blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL);
-
-       mutex_unlock(&inode->i_mutex);
 out:
        trace_ext3_sync_file_exit(inode, ret);
        return ret;