Add i_write_mutex unlock on the error handling path in collapse_range(). Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx> --- fs/ext4/extents.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index ee14768..0c93423 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -5447,8 +5447,10 @@ int ext4_collapse_range(struct inode *inode, loff_t offset, loff_t len) /* Write out all dirty pages */ ret = filemap_write_and_wait_range(inode->i_mapping, ioffset, LLONG_MAX); - if (ret) + if (ret) { + mutex_unlock(&EXT4_I(inode)->i_write_mutex); return ret; + } /* Take mutex lock */ mutex_lock(&inode->i_mutex); -- 1.7.11-rc0 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html