From: Richard Yao Date: Sun, 4 Aug 2013 23:13:15 +0000 (-0400) Subject: Return -1 from arc_shrinker_func() X-Git-Url: https://git.camperquake.de/gitweb.cgi?p=zfs.git;a=commitdiff_plain;h=c11a12bc3b2e5ee9a6bd74e26f1a396b6025fbd4 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 Signed-off-by: Brian Behlendorf Closes #1579 --- diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 89f5fe5..62f167e 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);