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 #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> */ /* <linux/module.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0) #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#define MODULE_IMPORT_NS(ns) #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; sgv_shrinker.shrink = sgv_shrink;
#endif #endif
sgv_shrinker.seeks = DEFAULT_SEEKS; sgv_shrinker.seeks = DEFAULT_SEEKS;
register_shrinker(&sgv_shrinker); register_shrinker(&sgv_shrinker, "scst-sgv");
out: out:
TRACE_EXIT_RES(res); TRACE_EXIT_RES(res);