summaryrefslogtreecommitdiffstats
path: root/module/zfs
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs')
-rw-r--r--module/zfs/zpl_super.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c
index 45639a6dd..410030461 100644
--- a/module/zfs/zpl_super.c
+++ b/module/zfs/zpl_super.c
@@ -288,34 +288,18 @@ zpl_prune_sb(struct super_block *sb, void *arg)
error = -zfs_sb_prune(sb, *(unsigned long *)arg, &objects);
ASSERT3S(error, <=, 0);
}
+#endif /* HAVE_SHRINK */
void
zpl_prune_sbs(int64_t bytes_to_scan, void *private)
{
+#ifdef HAVE_SHRINK
unsigned long nr_to_scan = (bytes_to_scan / sizeof (znode_t));
iterate_supers_type(&zpl_fs_type, zpl_prune_sb, &nr_to_scan);
kmem_reap();
-}
-#else
-/*
- * Linux 2.6.x - 3.0 API
- *
- * These are best effort interfaces are provided by the SPL to induce
- * the Linux VM subsystem to reclaim a fraction of the both dnode and
- * inode caches. Ideally, we want to just target the zfs file systems
- * however our only option is to reclaim from them all.
- */
-void
-zpl_prune_sbs(int64_t bytes_to_scan, void *private)
-{
- unsigned long nr_to_scan = (bytes_to_scan / sizeof (znode_t));
-
- shrink_dcache_memory(nr_to_scan, GFP_KERNEL);
- shrink_icache_memory(nr_to_scan, GFP_KERNEL);
- kmem_reap();
-}
#endif /* HAVE_SHRINK */
+}
#ifdef HAVE_NR_CACHED_OBJECTS
static int