On Mar 10, 2020, at 9:01 AM, Dmitry Monakhov <dmonakhov@xxxxxxxxx> wrote: > > We already has similar code in ext4_mb_complex_scan_group(), but > ext4_mb_simple_scan_group() still affected. > > Other reports: https://www.spinics.net/lists/linux-ext4/msg60231.html > > Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> > --- > fs/ext4/mballoc.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c > index 1027e01..97cd1a2 100644 > --- a/fs/ext4/mballoc.c > +++ b/fs/ext4/mballoc.c > @@ -1901,8 +1901,15 @@ void ext4_mb_simple_scan_group(struct ext4_allocation_context *ac, > BUG_ON(buddy == NULL); > > k = mb_find_next_zero_bit(buddy, max, 0); > - BUG_ON(k >= max); > - > + if (k >= max) { > + ext4_grp_locked_error(ac->ac_sb, e4b->bd_group, 0, 0, > + "%d free clusters of order %d. But found 0", > + grp->bb_counters[i], i); > + ext4_mark_group_bitmap_corrupted(ac->ac_sb, > + e4b->bd_group, > + EXT4_GROUP_INFO_BBITMAP_CORRUPT); > + break; > + } > ac->ac_found++; > > ac->ac_b_ex.fe_len = 1 << i; > -- > 2.7.4 > Cheers, Andreas
Attachment:
signature.asc
Description: Message signed with OpenPGP