diff options
author | Richard Yao <[email protected]> | 2013-08-04 19:13:15 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-08-08 09:20:56 -0700 |
commit | c11a12bc3b2e5ee9a6bd74e26f1a396b6025fbd4 (patch) | |
tree | a6745879aa9f524a8f1c09bef81d8bf07fa7491a /module/zfs/arc.c | |
parent | 8170d281263e52ff33d7fba93ab625196844df36 (diff) |
Return -1 from arc_shrinker_func()
This is analogous to SPL commit zfsonlinux/spl@b9b3715. While
we don't have clear evidence of systems getting caught here
indefinately like in the SPL this ensures that it will never
happen.
Signed-off-by: Richard Yao <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #1579
Diffstat (limited to 'module/zfs/arc.c')
-rw-r--r-- | module/zfs/arc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 89f5fe5f0..62f167e1d 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -2374,10 +2374,8 @@ __arc_shrinker_func(struct shrinker *shrink, struct shrink_control *sc) */ if (pages > 0) { arc_kmem_reap_now(ARC_RECLAIM_AGGR, ptob(sc->nr_to_scan)); - pages = btop(arc_evictable_memory()); } else { arc_kmem_reap_now(ARC_RECLAIM_CONS, ptob(sc->nr_to_scan)); - pages = -1; } /* @@ -2397,7 +2395,7 @@ __arc_shrinker_func(struct shrinker *shrink, struct shrink_control *sc) mutex_exit(&arc_reclaim_thr_lock); - return (pages); + return (-1); } SPL_SHRINKER_CALLBACK_WRAPPER(arc_shrinker_func); |