On Sat 22-05-21 18:30:45, Zhang Yi wrote: > The cache_cnt parameter of tracepoint ext4_es_shrink_exit means the > remaining cache count after shrink, but now it is the cache count before > shrink, fix it by read sbi->s_extent_cache_cnt again. > > Fixes: 1ab6c4997e04 ("fs: convert fs shrinkers to new scan/count API") > Cc: stable@xxxxxxxxxxxxxxx # 3.12+ > Signed-off-by: Zhang Yi <yi.zhang@xxxxxxxxxx> Yeah, probably it is better this way. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/ext4/extents_status.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c > index db3cd70a72e4..9a3a8996aacf 100644 > --- a/fs/ext4/extents_status.c > +++ b/fs/ext4/extents_status.c > @@ -1576,6 +1576,7 @@ static unsigned long ext4_es_scan(struct shrinker *shrink, > > nr_shrunk = __es_shrink(sbi, nr_to_scan, NULL); > > + ret = percpu_counter_read_positive(&sbi->s_es_stats.es_stats_shk_cnt); > trace_ext4_es_shrink_scan_exit(sbi->s_sb, nr_shrunk, ret); > return nr_shrunk; > } > -- > 2.25.4 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR