diff --git a/fs/ext3/super.c b/fs/ext3/super.c index fe3119a71adacb65172cdc6be3c390f55e234679..2845425077e857c85ac7413a9613786d0dd0ac25 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -2875,8 +2875,10 @@ static ssize_t ext3_quota_write(struct super_block *sb, int type, blk++; } out: - if (len == towrite) + if (len == towrite) { + mutex_unlock(&inode->i_mutex); return err; + } if (inode->i_size < off+len-towrite) { i_size_write(inode, off+len-towrite); EXT3_I(inode)->i_disksize = inode->i_size;