On Wed 17-01-24 19:52:22, yangerkun wrote: > We can just first call ext4_mb_unload_buddy, then copy information from > ext4_group_info. So remove this unused value. > > Signed-off-by: yangerkun <yangerkun@xxxxxxxxxx> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Although I'd prefer if you add a comment before memcpy() like: /* * We care only about free space counters in the group info and * these are safe to access even after the buddy has been unloaded */ Honza > --- > fs/ext4/mballoc.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c > index f44f668e407f..139f232bdbb5 100644 > --- a/fs/ext4/mballoc.c > +++ b/fs/ext4/mballoc.c > @@ -2990,8 +2990,7 @@ static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v) > { > struct super_block *sb = pde_data(file_inode(seq->file)); > ext4_group_t group = (ext4_group_t) ((unsigned long) v); > - int i; > - int err, buddy_loaded = 0; > + int i, err; > struct ext4_buddy e4b; > struct ext4_group_info *grinfo; > unsigned char blocksize_bits = min_t(unsigned char, > @@ -3021,14 +3020,10 @@ static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v) > seq_printf(seq, "#%-5u: I/O error\n", group); > return 0; > } > - buddy_loaded = 1; > + ext4_mb_unload_buddy(&e4b); > } > > memcpy(&sg, grinfo, i); > - > - if (buddy_loaded) > - ext4_mb_unload_buddy(&e4b); > - > seq_printf(seq, "#%-5u: %-5u %-5u %-5u [", group, sg.info.bb_free, > sg.info.bb_fragments, sg.info.bb_first_free); > for (i = 0; i <= 13; i++) > -- > 2.39.2 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR