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:
158be76
)
ext2: add missing brelse in ext2_new_blocks()
author
Chengguang Xu
<cgxu519@mykernel.net>
Tue, 22 Oct 2019 09:17:38 +0000
(17:17 +0800)
committer
Jan Kara
<jack@suse.cz>
Tue, 22 Oct 2019 09:24:48 +0000
(11:24 +0200)
Fix missing brelse of bitmap_bh in the case of retry.
Link:
https://lore.kernel.org/r/20191022091738.9160-1-cgxu519@mykernel.net
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext2/balloc.c
patch
|
blob
|
history
diff --git
a/fs/ext2/balloc.c
b/fs/ext2/balloc.c
index 924c1c7653068a29c083a59d2c00c051577886db..4664d324567c0785a87b6484be8ae8a76f1a93e4 100644
(file)
--- a/
fs/ext2/balloc.c
+++ b/
fs/ext2/balloc.c
@@
-1313,6
+1313,13
@@
retry_alloc:
if (free_blocks > 0) {
grp_target_blk = ((goal - le32_to_cpu(es->s_first_data_block)) %
EXT2_BLOCKS_PER_GROUP(sb));
+ /*
+ * In case we retry allocation (due to fs reservation not
+ * working out or fs corruption), the bitmap_bh is non-null
+ * pointer and we have to release it before calling
+ * read_block_bitmap().
+ */
+ brelse(bitmap_bh);
bitmap_bh = read_block_bitmap(sb, group_no);
if (!bitmap_bh)
goto io_error;