diff --git a/module/zfs/zfs_znode.c b/module/zfs/zfs_znode.c index c931a72c3..0c0091f04 100644 --- a/module/zfs/zfs_znode.c +++ b/module/zfs/zfs_znode.c @@ -147,12 +147,14 @@ void zfs_znode_init(void) { /* - * Initialize zcache + * Initialize zcache. The KMC_SLAB hint is used in order that it be + * backed by kmalloc() when on the Linux slab in order that any + * wait_on_bit() operations on the related inode operate properly. */ ASSERT(znode_cache == NULL); znode_cache = kmem_cache_create("zfs_znode_cache", sizeof (znode_t), 0, zfs_znode_cache_constructor, - zfs_znode_cache_destructor, NULL, NULL, NULL, KMC_KMEM); + zfs_znode_cache_destructor, NULL, NULL, NULL, KMC_SLAB); } void