Changwei Ge
2018-Jan-25 01:18 UTC
[Ocfs2-devel] [PATCH] ocfs2: unlock bh_state if bg check fails
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
Gang He
2018-Jan-25 08:03 UTC
[Ocfs2-devel] [PATCH] ocfs2: unlock bh_state if bg check fails
Reviewed-by: Gang He <ghe at suse.com> Thanks Gang>>> > 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 > > > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel
piaojun
2018-Jan-25 12:49 UTC
[Ocfs2-devel] [PATCH] ocfs2: unlock bh_state if bg check fails
LGTM On 2018/1/25 9:18, Changwei Ge wrote:> 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>Reviewed-by: Jun Piao <piaojun at huawei.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), >