aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 436b4223df66..1867a98e0c49 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4758,7 +4758,6 @@ static ssize_t ext4_quota_write(struct super_block *sb, int type,
4758 return -EIO; 4758 return -EIO;
4759 } 4759 }
4760 4760
4761 mutex_lock_nested(&inode->i_mutex, I_MUTEX_QUOTA);
4762 bh = ext4_bread(handle, inode, blk, 1, &err); 4761 bh = ext4_bread(handle, inode, blk, 1, &err);
4763 if (!bh) 4762 if (!bh)
4764 goto out; 4763 goto out;
@@ -4774,16 +4773,13 @@ static ssize_t ext4_quota_write(struct super_block *sb, int type,
4774 err = ext4_handle_dirty_metadata(handle, NULL, bh); 4773 err = ext4_handle_dirty_metadata(handle, NULL, bh);
4775 brelse(bh); 4774 brelse(bh);
4776out: 4775out:
4777 if (err) { 4776 if (err)
4778 mutex_unlock(&inode->i_mutex);
4779 return err; 4777 return err;
4780 }
4781 if (inode->i_size < off + len) { 4778 if (inode->i_size < off + len) {
4782 i_size_write(inode, off + len); 4779 i_size_write(inode, off + len);
4783 EXT4_I(inode)->i_disksize = inode->i_size; 4780 EXT4_I(inode)->i_disksize = inode->i_size;
4784 ext4_mark_inode_dirty(handle, inode); 4781 ext4_mark_inode_dirty(handle, inode);
4785 } 4782 }
4786 mutex_unlock(&inode->i_mutex);
4787 return len; 4783 return len;
4788} 4784}
4789 4785