From: Wei Yongjun <[email protected]>
Add the missing unlock before return from function ext4_punch_hole()
in the error handling case.
Introduced by commit 1cdec9ca46c2c2a7ce452659f43dac64ad5fbc85.
(ext4: Avoid unnecessarily writing back dirty pages before hole punching)
Signed-off-by: Wei Yongjun <[email protected]>
---
fs/ext4/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 2644679..06136b5 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -3538,7 +3538,7 @@ int ext4_punch_hole(struct file *file, loff_t offset, loff_t length)
if (ext4_should_order_data(inode)) {
ret = ext4_begin_ordered_punch_hole(inode, offset, length);
if (ret)
- return ret;
+ goto out_mutex;
}
/* Now release the pages and zero block aligned part of pages*/
On Tue, Jun 18, 2013 at 11:40:34AM +0800, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> Add the missing unlock before return from function ext4_punch_hole()
> in the error handling case.
> Introduced by commit 1cdec9ca46c2c2a7ce452659f43dac64ad5fbc85.
> (ext4: Avoid unnecessarily writing back dirty pages before hole punching)
>
> Signed-off-by: Wei Yongjun <[email protected]>
Hi Wei,
Thanks for pointing this out! I've folded this patch into the commit
"ext4: avoid unnecessarily writing back dirty pages before hole
punching".
- Ted