scst_mem: Port to Linux kernel v6.0

Support for the following mm layer changes in the Linux kernel v6.0:
- e33c267ab70d ("mm: shrinkers: provide shrinkers with names")
This commit is contained in:
Gleb Chesnokov
2022-08-10 14:26:54 +03:00
parent 46ad98f072
commit 84bd33f9a1
2 changed files with 17 additions and 1 deletions

View File

@@ -773,6 +773,22 @@ static inline void kvfree(void *addr)
}
#endif
/* <linux/shrinker.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
/*
* See also commit e33c267ab70d ("mm: shrinkers: provide shrinkers with
* names") # v6.0.
*/
static inline
int register_shrinker_backport(struct shrinker *shrinker, const char *fmt, ...)
{
return register_shrinker(shrinker);
}
#define register_shrinker register_shrinker_backport
#endif
/* <linux/module.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#define MODULE_IMPORT_NS(ns)

View File

@@ -1794,7 +1794,7 @@ int scst_sgv_pools_init(unsigned long mem_hwmark, unsigned long mem_lwmark)
sgv_shrinker.shrink = sgv_shrink;
#endif
sgv_shrinker.seeks = DEFAULT_SEEKS;
register_shrinker(&sgv_shrinker);
register_shrinker(&sgv_shrinker, "scst-sgv");
out:
TRACE_EXIT_RES(res);