From: Jan Kara When write in ext3_quota_write() fails, we have to properly release i_mutex. One error path has been missing the unlock... Signed-off-by: Jan Kara Signed-off-by: Andrew Morton --- fs/ext3/super.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff -puN fs/ext3/super.c~ext3-add-missing-unlock-to-error-path-in-ext3_quota_write fs/ext3/super.c --- a/fs/ext3/super.c~ext3-add-missing-unlock-to-error-path-in-ext3_quota_write +++ a/fs/ext3/super.c @@ -2875,8 +2875,10 @@ static ssize_t ext3_quota_write(struct s 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; _