diff --git a/iscsi-scst/kernel/isert-scst/iser_global.c b/iscsi-scst/kernel/isert-scst/iser_global.c index fc64702cb..a7882c7b2 100644 --- a/iscsi-scst/kernel/isert-scst/iser_global.c +++ b/iscsi-scst/kernel/isert-scst/iser_global.c @@ -144,8 +144,10 @@ int isert_global_init(void) return -ENOMEM; } - isert_cmnd_cache = KMEM_CACHE_USERCOPY(isert_cmnd, - SCST_SLAB_FLAGS|SLAB_HWCACHE_ALIGN); + isert_cmnd_cache = kmem_cache_create_usercopy("isert_cmnd", + sizeof(struct isert_cmnd), __alignof__(struct isert_cmnd), + SCST_SLAB_FLAGS | SLAB_HWCACHE_ALIGN, + 0, sizeof(struct isert_cmnd), NULL); if (!isert_cmnd_cache) { destroy_workqueue(isert_glob.conn_wq); PRINT_ERROR("Failed to alloc iser command cache"); diff --git a/scst/include/backport.h b/scst/include/backport.h index acad11f28..4d2f691f4 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -680,7 +680,7 @@ static inline void *kmalloc_array(size_t n, size_t size, gfp_t flags) #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 23) static inline struct kmem_cache *kmem_cache_create_usercopy(const char *name, unsigned int size, unsigned int align, - slab_flags_t flags, + unsigned long flags, unsigned int useroffset, unsigned int usersize, void (*ctor)(void *)) { @@ -689,7 +689,7 @@ static inline struct kmem_cache *kmem_cache_create_usercopy(const char *name, #elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0) static inline struct kmem_cache *kmem_cache_create_usercopy(const char *name, unsigned int size, unsigned int align, - slab_flags_t flags, + unsigned long flags, unsigned int useroffset, unsigned int usersize, void (*ctor)(void *)) {