projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
15cc176
)
ext4: fix error paths in swap_inode_boot_loader()
author
Zheng Liu
<
[email protected]
>
Wed, 12 Feb 2014 16:48:31 +0000
(11:48 -0500)
committer
Theodore Ts'o
<
[email protected]
>
Wed, 12 Feb 2014 16:48:31 +0000
(11:48 -0500)
In swap_inode_boot_loader() we forgot to release ->i_mutex and resume
unlocked dio for inode and inode_bl if there is an error starting the
journal handle. This commit fixes this issue.
Reported-by: Ahmed Tamrawi <
[email protected]
>
Cc: Andreas Dilger <
[email protected]
>
Cc: Dr. Tilmann Bubeck <
[email protected]
>
Signed-off-by: Zheng Liu <
[email protected]
>
Signed-off-by: "Theodore Ts'o" <
[email protected]
>
Cc:
[email protected]
# v3.10+
fs/ext4/ioctl.c
patch
|
blob
|
history
diff --git
a/fs/ext4/ioctl.c
b/fs/ext4/ioctl.c
index 6bea80614d77c19c6ca7b1ac9160d64f1115b36e..a2a837f0040743d9e76608904c5b2cb429aaadd2 100644
(file)
--- a/
fs/ext4/ioctl.c
+++ b/
fs/ext4/ioctl.c
@@
-140,7
+140,7
@@
static long swap_inode_boot_loader(struct super_block *sb,
handle = ext4_journal_start(inode_bl, EXT4_HT_MOVE_EXTENTS, 2);
if (IS_ERR(handle)) {
err = -EINVAL;
- goto
swap_boot
_out;
+ goto
journal_err
_out;
}
/* Protect extent tree against block allocations via delalloc */
@@
-198,6
+198,7
@@
static long swap_inode_boot_loader(struct super_block *sb,
ext4_double_up_write_data_sem(inode, inode_bl);
+journal_err_out:
ext4_inode_resume_unlocked_dio(inode);
ext4_inode_resume_unlocked_dio(inode_bl);