On Tue 16-04-19 18:53:12, Kirill Tkhai wrote: > [Hi! > I occasionally found this place, and not familiar with ext4. > But this place looks like doing the wrong thing. > s_groups_count may only work, and there must be another sign. > Please, take a look. > ] > > It is never possible, that number of block groups decreases, > since only online grow is supported. > > But after a growing occured, we have to zero inode tables > for just created new block groups. > > Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> > --- > fs/ext4/ioctl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Thanks for the patch. Looks like a good catch. You can add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > > diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c > index bab3da4f1e0d..20faa6a69238 100644 > --- a/fs/ext4/ioctl.c > +++ b/fs/ext4/ioctl.c > @@ -978,7 +978,7 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) > if (err == 0) > err = err2; > mnt_drop_write_file(filp); > - if (!err && (o_group > EXT4_SB(sb)->s_groups_count) && > + if (!err && (o_group < EXT4_SB(sb)->s_groups_count) && > ext4_has_group_desc_csum(sb) && > test_opt(sb, INIT_INODE_TABLE)) > err = ext4_register_li_request(sb, o_group); > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR