[Ocfs2-devel] [PATCH] ocfs2: unlock bh_state if bg check fails
Changwei Ge
ge.changwei at h3c.com
Wed Jan 24 17:18:15 PST 2018
We should unlock bh_stat if bg->bg_free_bits_count > bg->bg_bits
Suggested-by: Jan Kara <jack at suse.cz>
Signed-off-by: Changwei Ge <ge.changwei at h3c.com>
---
fs/ocfs2/suballoc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c
index 71f22c8..6fee797 100644
--- a/fs/ocfs2/suballoc.c
+++ b/fs/ocfs2/suballoc.c
@@ -2441,6 +2441,8 @@ static int ocfs2_block_group_clear_bits(handle_t *handle,
}
le16_add_cpu(&bg->bg_free_bits_count, num_bits);
if (le16_to_cpu(bg->bg_free_bits_count) > le16_to_cpu(bg->bg_bits)) {
+ if (undo_fn)
+ jbd_unlock_bh_state(group_bh);
return ocfs2_error(alloc_inode->i_sb, "Group descriptor # %llu has bit count %u but claims %u are freed. num_bits %d\n",
(unsigned long long)le64_to_cpu(bg->bg_blkno),
le16_to_cpu(bg->bg_bits),
--
2.7.4
More information about the Ocfs2-devel
mailing list