diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2015-01-22 12:17:17 -0500 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-05-27 19:39:51 +0200 |
| commit | f260656a0bd3a62ed160ce9a78ee1ed694e00659 (patch) | |
| tree | 700f8b7a5854a6cb8430934027cc5a3a36eea0c5 | |
| parent | a43d14a3d5ca47ccce5d64a7704f5fe528237f84 (diff) | |
ext4: use the old shrinker API
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
| -rw-r--r-- | fs/ext4/extents_status.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c index 94e7855ae..1a33fb2e4 100644 --- a/fs/ext4/extents_status.c +++ b/fs/ext4/extents_status.c @@ -1080,6 +1080,14 @@ static unsigned long ext4_es_scan(struct shrinker *shrink, return nr_shrunk; } +static int ext4_es_shrink(struct shrinker *shrink, struct shrink_control *sc) +{ + if (sc->nr_to_scan) + return ext4_es_scan(shrink, sc); + else + return ext4_es_count(shrink, sc); +} + static void *ext4_es_seq_shrinker_info_start(struct seq_file *seq, loff_t *pos) { return *pos ? NULL : SEQ_START_TOKEN; @@ -1196,12 +1204,9 @@ int ext4_es_register_shrinker(struct ext4_sb_info *sbi) if (err) goto err1; - sbi->s_es_shrinker.scan_objects = ext4_es_scan; - sbi->s_es_shrinker.count_objects = ext4_es_count; + sbi->s_es_shrinker.shrink = ext4_es_shrink; sbi->s_es_shrinker.seeks = DEFAULT_SEEKS; - err = register_shrinker(&sbi->s_es_shrinker); - if (err) - goto err2; + register_shrinker(&sbi->s_es_shrinker); if (sbi->s_proc) proc_create_data("es_shrinker_info", S_IRUGO, sbi->s_proc, @@ -1209,7 +1214,6 @@ int ext4_es_register_shrinker(struct ext4_sb_info *sbi) return 0; -err2: percpu_counter_destroy(&sbi->s_es_stats.es_stats_lru_cnt); err1: percpu_counter_destroy(&sbi->s_es_stats.es_stats_all_cnt); |
