diff mbox series

[01/11] xfs: Remove slab init wrappers

Message ID 20191113142335.1045631-2-cmaiolino@redhat.com (mailing list archive)
State Superseded, archived
Headers show
Series Use generic memory API instead of a custom one | expand

Commit Message

Carlos Maiolino Nov. 13, 2019, 2:23 p.m. UTC
Remove kmem_zone_init() and kmem_zone_init_flags() together with their
specific KM_* to SLAB_* flag wrappers.

Use kmem_cache_create() directly.

Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
---
 fs/xfs/kmem.h      | 18 ---------
 fs/xfs/xfs_buf.c   |  5 ++-
 fs/xfs/xfs_dquot.c | 10 +++--
 fs/xfs/xfs_super.c | 99 +++++++++++++++++++++++++++-------------------
 4 files changed, 68 insertions(+), 64 deletions(-)

Comments

Darrick J. Wong Nov. 13, 2019, 5:06 p.m. UTC | #1
On Wed, Nov 13, 2019 at 03:23:25PM +0100, Carlos Maiolino wrote:
> Remove kmem_zone_init() and kmem_zone_init_flags() together with their
> specific KM_* to SLAB_* flag wrappers.
> 
> Use kmem_cache_create() directly.
> 
> Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>

Looks ok,
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> ---
>  fs/xfs/kmem.h      | 18 ---------
>  fs/xfs/xfs_buf.c   |  5 ++-
>  fs/xfs/xfs_dquot.c | 10 +++--
>  fs/xfs/xfs_super.c | 99 +++++++++++++++++++++++++++-------------------
>  4 files changed, 68 insertions(+), 64 deletions(-)
> 
> diff --git a/fs/xfs/kmem.h b/fs/xfs/kmem.h
> index 8170d95cf930..15c5800128b3 100644
> --- a/fs/xfs/kmem.h
> +++ b/fs/xfs/kmem.h
> @@ -78,27 +78,9 @@ kmem_zalloc_large(size_t size, xfs_km_flags_t flags)
>   * Zone interfaces
>   */
>  
> -#define KM_ZONE_HWALIGN	SLAB_HWCACHE_ALIGN
> -#define KM_ZONE_RECLAIM	SLAB_RECLAIM_ACCOUNT
> -#define KM_ZONE_SPREAD	SLAB_MEM_SPREAD
> -#define KM_ZONE_ACCOUNT	SLAB_ACCOUNT
> -
>  #define kmem_zone	kmem_cache
>  #define kmem_zone_t	struct kmem_cache
>  
> -static inline kmem_zone_t *
> -kmem_zone_init(int size, char *zone_name)
> -{
> -	return kmem_cache_create(zone_name, size, 0, 0, NULL);
> -}
> -
> -static inline kmem_zone_t *
> -kmem_zone_init_flags(int size, char *zone_name, slab_flags_t flags,
> -		     void (*construct)(void *))
> -{
> -	return kmem_cache_create(zone_name, size, 0, flags, construct);
> -}
> -
>  static inline void
>  kmem_zone_free(kmem_zone_t *zone, void *ptr)
>  {
> diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
> index 2ed3c65c602f..3741f5b369de 100644
> --- a/fs/xfs/xfs_buf.c
> +++ b/fs/xfs/xfs_buf.c
> @@ -2060,8 +2060,9 @@ xfs_buf_delwri_pushbuf(
>  int __init
>  xfs_buf_init(void)
>  {
> -	xfs_buf_zone = kmem_zone_init_flags(sizeof(xfs_buf_t), "xfs_buf",
> -						KM_ZONE_HWALIGN, NULL);
> +	xfs_buf_zone = kmem_cache_create("xfs_buf",
> +					 sizeof(struct xfs_buf), 0,
> +					 SLAB_HWCACHE_ALIGN, NULL);
>  	if (!xfs_buf_zone)
>  		goto out;
>  
> diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c
> index bcd4247b5014..90dd1623de5a 100644
> --- a/fs/xfs/xfs_dquot.c
> +++ b/fs/xfs/xfs_dquot.c
> @@ -1211,13 +1211,15 @@ xfs_dqlock2(
>  int __init
>  xfs_qm_init(void)
>  {
> -	xfs_qm_dqzone =
> -		kmem_zone_init(sizeof(struct xfs_dquot), "xfs_dquot");
> +	xfs_qm_dqzone = kmem_cache_create("xfs_dquot",
> +					  sizeof(struct xfs_dquot),
> +					  0, 0, NULL);
>  	if (!xfs_qm_dqzone)
>  		goto out;
>  
> -	xfs_qm_dqtrxzone =
> -		kmem_zone_init(sizeof(struct xfs_dquot_acct), "xfs_dqtrx");
> +	xfs_qm_dqtrxzone = kmem_cache_create("xfs_dqtrx",
> +					     sizeof(struct xfs_dquot_acct),
> +					     0, 0, NULL);
>  	if (!xfs_qm_dqtrxzone)
>  		goto out_free_dqzone;
>  
> diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> index 7f1fc76376f5..d3c3f7b5bdcf 100644
> --- a/fs/xfs/xfs_super.c
> +++ b/fs/xfs/xfs_super.c
> @@ -1797,32 +1797,39 @@ MODULE_ALIAS_FS("xfs");
>  STATIC int __init
>  xfs_init_zones(void)
>  {
> -	xfs_log_ticket_zone = kmem_zone_init(sizeof(xlog_ticket_t),
> -						"xfs_log_ticket");
> +	xfs_log_ticket_zone = kmem_cache_create("xfs_log_ticket",
> +						sizeof(struct xlog_ticket),
> +						0, 0, NULL);
>  	if (!xfs_log_ticket_zone)
>  		goto out;
>  
> -	xfs_bmap_free_item_zone = kmem_zone_init(
> -			sizeof(struct xfs_extent_free_item),
> -			"xfs_bmap_free_item");
> +	xfs_bmap_free_item_zone = kmem_cache_create("xfs_bmap_free_item",
> +					sizeof(struct xfs_extent_free_item),
> +					0, 0, NULL);
>  	if (!xfs_bmap_free_item_zone)
>  		goto out_destroy_log_ticket_zone;
>  
> -	xfs_btree_cur_zone = kmem_zone_init(sizeof(xfs_btree_cur_t),
> -						"xfs_btree_cur");
> +	xfs_btree_cur_zone = kmem_cache_create("xfs_btree_cur",
> +					       sizeof(struct xfs_btree_cur),
> +					       0, 0, NULL);
>  	if (!xfs_btree_cur_zone)
>  		goto out_destroy_bmap_free_item_zone;
>  
> -	xfs_da_state_zone = kmem_zone_init(sizeof(xfs_da_state_t),
> -						"xfs_da_state");
> +	xfs_da_state_zone = kmem_cache_create("xfs_da_state",
> +					      sizeof(struct xfs_da_state),
> +					      0, 0, NULL);
>  	if (!xfs_da_state_zone)
>  		goto out_destroy_btree_cur_zone;
>  
> -	xfs_ifork_zone = kmem_zone_init(sizeof(struct xfs_ifork), "xfs_ifork");
> +	xfs_ifork_zone = kmem_cache_create("xfs_ifork",
> +					   sizeof(struct xfs_ifork),
> +					   0, 0, NULL);
>  	if (!xfs_ifork_zone)
>  		goto out_destroy_da_state_zone;
>  
> -	xfs_trans_zone = kmem_zone_init(sizeof(xfs_trans_t), "xfs_trans");
> +	xfs_trans_zone = kmem_cache_create("xf_trans",
> +					   sizeof(struct xfs_trans),
> +					   0, 0, NULL);
>  	if (!xfs_trans_zone)
>  		goto out_destroy_ifork_zone;
>  
> @@ -1832,70 +1839,82 @@ xfs_init_zones(void)
>  	 * size possible under XFS.  This wastes a little bit of memory,
>  	 * but it is much faster.
>  	 */
> -	xfs_buf_item_zone = kmem_zone_init(sizeof(struct xfs_buf_log_item),
> -					   "xfs_buf_item");
> +	xfs_buf_item_zone = kmem_cache_create("xfs_buf_item",
> +					      sizeof(struct xfs_buf_log_item),
> +					      0, 0, NULL);
>  	if (!xfs_buf_item_zone)
>  		goto out_destroy_trans_zone;
>  
> -	xfs_efd_zone = kmem_zone_init((sizeof(xfs_efd_log_item_t) +
> -			((XFS_EFD_MAX_FAST_EXTENTS - 1) *
> -				 sizeof(xfs_extent_t))), "xfs_efd_item");
> +	xfs_efd_zone = kmem_cache_create("xfs_efd_item",
> +					(sizeof(struct xfs_efd_log_item) +
> +					(XFS_EFD_MAX_FAST_EXTENTS - 1) *
> +					sizeof(struct xfs_extent)),
> +					0, 0, NULL);
>  	if (!xfs_efd_zone)
>  		goto out_destroy_buf_item_zone;
>  
> -	xfs_efi_zone = kmem_zone_init((sizeof(xfs_efi_log_item_t) +
> -			((XFS_EFI_MAX_FAST_EXTENTS - 1) *
> -				sizeof(xfs_extent_t))), "xfs_efi_item");
> +	xfs_efi_zone = kmem_cache_create("xfs_efi_item",
> +					 (sizeof(struct xfs_efi_log_item) +
> +					 (XFS_EFI_MAX_FAST_EXTENTS - 1) *
> +					 sizeof(struct xfs_extent)),
> +					 0, 0, NULL);
>  	if (!xfs_efi_zone)
>  		goto out_destroy_efd_zone;
>  
> -	xfs_inode_zone =
> -		kmem_zone_init_flags(sizeof(xfs_inode_t), "xfs_inode",
> -			KM_ZONE_HWALIGN | KM_ZONE_RECLAIM | KM_ZONE_SPREAD |
> -			KM_ZONE_ACCOUNT, xfs_fs_inode_init_once);
> +	xfs_inode_zone = kmem_cache_create("xfs_inode",
> +					   sizeof(struct xfs_inode), 0,
> +					   (SLAB_HWCACHE_ALIGN |
> +					    SLAB_RECLAIM_ACCOUNT |
> +					    SLAB_MEM_SPREAD | SLAB_ACCOUNT),
> +					   xfs_fs_inode_init_once);
>  	if (!xfs_inode_zone)
>  		goto out_destroy_efi_zone;
>  
> -	xfs_ili_zone =
> -		kmem_zone_init_flags(sizeof(xfs_inode_log_item_t), "xfs_ili",
> -					KM_ZONE_SPREAD, NULL);
> +	xfs_ili_zone = kmem_cache_create("xfs_ili",
> +					 sizeof(struct xfs_inode_log_item), 0,
> +					 SLAB_MEM_SPREAD, NULL);
>  	if (!xfs_ili_zone)
>  		goto out_destroy_inode_zone;
> -	xfs_icreate_zone = kmem_zone_init(sizeof(struct xfs_icreate_item),
> -					"xfs_icr");
> +
> +	xfs_icreate_zone = kmem_cache_create("xfs_icr",
> +					     sizeof(struct xfs_icreate_item),
> +					     0, 0, NULL);
>  	if (!xfs_icreate_zone)
>  		goto out_destroy_ili_zone;
>  
> -	xfs_rud_zone = kmem_zone_init(sizeof(struct xfs_rud_log_item),
> -			"xfs_rud_item");
> +	xfs_rud_zone = kmem_cache_create("xfs_rud_item",
> +					 sizeof(struct xfs_rud_log_item),
> +					 0, 0, NULL);
>  	if (!xfs_rud_zone)
>  		goto out_destroy_icreate_zone;
>  
> -	xfs_rui_zone = kmem_zone_init(
> +	xfs_rui_zone = kmem_cache_create("xfs_rui_item",
>  			xfs_rui_log_item_sizeof(XFS_RUI_MAX_FAST_EXTENTS),
> -			"xfs_rui_item");
> +			0, 0, NULL);
>  	if (!xfs_rui_zone)
>  		goto out_destroy_rud_zone;
>  
> -	xfs_cud_zone = kmem_zone_init(sizeof(struct xfs_cud_log_item),
> -			"xfs_cud_item");
> +	xfs_cud_zone = kmem_cache_create("xfs_cud_item",
> +					 sizeof(struct xfs_cud_log_item),
> +					 0, 0, NULL);
>  	if (!xfs_cud_zone)
>  		goto out_destroy_rui_zone;
>  
> -	xfs_cui_zone = kmem_zone_init(
> +	xfs_cui_zone = kmem_cache_create("xfs_cui_item",
>  			xfs_cui_log_item_sizeof(XFS_CUI_MAX_FAST_EXTENTS),
> -			"xfs_cui_item");
> +			0, 0, NULL);
>  	if (!xfs_cui_zone)
>  		goto out_destroy_cud_zone;
>  
> -	xfs_bud_zone = kmem_zone_init(sizeof(struct xfs_bud_log_item),
> -			"xfs_bud_item");
> +	xfs_bud_zone = kmem_cache_create("xfs_bud_item",
> +					 sizeof(struct xfs_bud_log_item),
> +					 0, 0, NULL);
>  	if (!xfs_bud_zone)
>  		goto out_destroy_cui_zone;
>  
> -	xfs_bui_zone = kmem_zone_init(
> +	xfs_bui_zone = kmem_cache_create("xfs_bui_item",
>  			xfs_bui_log_item_sizeof(XFS_BUI_MAX_FAST_EXTENTS),
> -			"xfs_bui_item");
> +			0, 0, NULL);
>  	if (!xfs_bui_zone)
>  		goto out_destroy_bud_zone;
>  
> -- 
> 2.23.0
>
diff mbox series

Patch

diff --git a/fs/xfs/kmem.h b/fs/xfs/kmem.h
index 8170d95cf930..15c5800128b3 100644
--- a/fs/xfs/kmem.h
+++ b/fs/xfs/kmem.h
@@ -78,27 +78,9 @@  kmem_zalloc_large(size_t size, xfs_km_flags_t flags)
  * Zone interfaces
  */
 
-#define KM_ZONE_HWALIGN	SLAB_HWCACHE_ALIGN
-#define KM_ZONE_RECLAIM	SLAB_RECLAIM_ACCOUNT
-#define KM_ZONE_SPREAD	SLAB_MEM_SPREAD
-#define KM_ZONE_ACCOUNT	SLAB_ACCOUNT
-
 #define kmem_zone	kmem_cache
 #define kmem_zone_t	struct kmem_cache
 
-static inline kmem_zone_t *
-kmem_zone_init(int size, char *zone_name)
-{
-	return kmem_cache_create(zone_name, size, 0, 0, NULL);
-}
-
-static inline kmem_zone_t *
-kmem_zone_init_flags(int size, char *zone_name, slab_flags_t flags,
-		     void (*construct)(void *))
-{
-	return kmem_cache_create(zone_name, size, 0, flags, construct);
-}
-
 static inline void
 kmem_zone_free(kmem_zone_t *zone, void *ptr)
 {
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
index 2ed3c65c602f..3741f5b369de 100644
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@ -2060,8 +2060,9 @@  xfs_buf_delwri_pushbuf(
 int __init
 xfs_buf_init(void)
 {
-	xfs_buf_zone = kmem_zone_init_flags(sizeof(xfs_buf_t), "xfs_buf",
-						KM_ZONE_HWALIGN, NULL);
+	xfs_buf_zone = kmem_cache_create("xfs_buf",
+					 sizeof(struct xfs_buf), 0,
+					 SLAB_HWCACHE_ALIGN, NULL);
 	if (!xfs_buf_zone)
 		goto out;
 
diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c
index bcd4247b5014..90dd1623de5a 100644
--- a/fs/xfs/xfs_dquot.c
+++ b/fs/xfs/xfs_dquot.c
@@ -1211,13 +1211,15 @@  xfs_dqlock2(
 int __init
 xfs_qm_init(void)
 {
-	xfs_qm_dqzone =
-		kmem_zone_init(sizeof(struct xfs_dquot), "xfs_dquot");
+	xfs_qm_dqzone = kmem_cache_create("xfs_dquot",
+					  sizeof(struct xfs_dquot),
+					  0, 0, NULL);
 	if (!xfs_qm_dqzone)
 		goto out;
 
-	xfs_qm_dqtrxzone =
-		kmem_zone_init(sizeof(struct xfs_dquot_acct), "xfs_dqtrx");
+	xfs_qm_dqtrxzone = kmem_cache_create("xfs_dqtrx",
+					     sizeof(struct xfs_dquot_acct),
+					     0, 0, NULL);
 	if (!xfs_qm_dqtrxzone)
 		goto out_free_dqzone;
 
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 7f1fc76376f5..d3c3f7b5bdcf 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1797,32 +1797,39 @@  MODULE_ALIAS_FS("xfs");
 STATIC int __init
 xfs_init_zones(void)
 {
-	xfs_log_ticket_zone = kmem_zone_init(sizeof(xlog_ticket_t),
-						"xfs_log_ticket");
+	xfs_log_ticket_zone = kmem_cache_create("xfs_log_ticket",
+						sizeof(struct xlog_ticket),
+						0, 0, NULL);
 	if (!xfs_log_ticket_zone)
 		goto out;
 
-	xfs_bmap_free_item_zone = kmem_zone_init(
-			sizeof(struct xfs_extent_free_item),
-			"xfs_bmap_free_item");
+	xfs_bmap_free_item_zone = kmem_cache_create("xfs_bmap_free_item",
+					sizeof(struct xfs_extent_free_item),
+					0, 0, NULL);
 	if (!xfs_bmap_free_item_zone)
 		goto out_destroy_log_ticket_zone;
 
-	xfs_btree_cur_zone = kmem_zone_init(sizeof(xfs_btree_cur_t),
-						"xfs_btree_cur");
+	xfs_btree_cur_zone = kmem_cache_create("xfs_btree_cur",
+					       sizeof(struct xfs_btree_cur),
+					       0, 0, NULL);
 	if (!xfs_btree_cur_zone)
 		goto out_destroy_bmap_free_item_zone;
 
-	xfs_da_state_zone = kmem_zone_init(sizeof(xfs_da_state_t),
-						"xfs_da_state");
+	xfs_da_state_zone = kmem_cache_create("xfs_da_state",
+					      sizeof(struct xfs_da_state),
+					      0, 0, NULL);
 	if (!xfs_da_state_zone)
 		goto out_destroy_btree_cur_zone;
 
-	xfs_ifork_zone = kmem_zone_init(sizeof(struct xfs_ifork), "xfs_ifork");
+	xfs_ifork_zone = kmem_cache_create("xfs_ifork",
+					   sizeof(struct xfs_ifork),
+					   0, 0, NULL);
 	if (!xfs_ifork_zone)
 		goto out_destroy_da_state_zone;
 
-	xfs_trans_zone = kmem_zone_init(sizeof(xfs_trans_t), "xfs_trans");
+	xfs_trans_zone = kmem_cache_create("xf_trans",
+					   sizeof(struct xfs_trans),
+					   0, 0, NULL);
 	if (!xfs_trans_zone)
 		goto out_destroy_ifork_zone;
 
@@ -1832,70 +1839,82 @@  xfs_init_zones(void)
 	 * size possible under XFS.  This wastes a little bit of memory,
 	 * but it is much faster.
 	 */
-	xfs_buf_item_zone = kmem_zone_init(sizeof(struct xfs_buf_log_item),
-					   "xfs_buf_item");
+	xfs_buf_item_zone = kmem_cache_create("xfs_buf_item",
+					      sizeof(struct xfs_buf_log_item),
+					      0, 0, NULL);
 	if (!xfs_buf_item_zone)
 		goto out_destroy_trans_zone;
 
-	xfs_efd_zone = kmem_zone_init((sizeof(xfs_efd_log_item_t) +
-			((XFS_EFD_MAX_FAST_EXTENTS - 1) *
-				 sizeof(xfs_extent_t))), "xfs_efd_item");
+	xfs_efd_zone = kmem_cache_create("xfs_efd_item",
+					(sizeof(struct xfs_efd_log_item) +
+					(XFS_EFD_MAX_FAST_EXTENTS - 1) *
+					sizeof(struct xfs_extent)),
+					0, 0, NULL);
 	if (!xfs_efd_zone)
 		goto out_destroy_buf_item_zone;
 
-	xfs_efi_zone = kmem_zone_init((sizeof(xfs_efi_log_item_t) +
-			((XFS_EFI_MAX_FAST_EXTENTS - 1) *
-				sizeof(xfs_extent_t))), "xfs_efi_item");
+	xfs_efi_zone = kmem_cache_create("xfs_efi_item",
+					 (sizeof(struct xfs_efi_log_item) +
+					 (XFS_EFI_MAX_FAST_EXTENTS - 1) *
+					 sizeof(struct xfs_extent)),
+					 0, 0, NULL);
 	if (!xfs_efi_zone)
 		goto out_destroy_efd_zone;
 
-	xfs_inode_zone =
-		kmem_zone_init_flags(sizeof(xfs_inode_t), "xfs_inode",
-			KM_ZONE_HWALIGN | KM_ZONE_RECLAIM | KM_ZONE_SPREAD |
-			KM_ZONE_ACCOUNT, xfs_fs_inode_init_once);
+	xfs_inode_zone = kmem_cache_create("xfs_inode",
+					   sizeof(struct xfs_inode), 0,
+					   (SLAB_HWCACHE_ALIGN |
+					    SLAB_RECLAIM_ACCOUNT |
+					    SLAB_MEM_SPREAD | SLAB_ACCOUNT),
+					   xfs_fs_inode_init_once);
 	if (!xfs_inode_zone)
 		goto out_destroy_efi_zone;
 
-	xfs_ili_zone =
-		kmem_zone_init_flags(sizeof(xfs_inode_log_item_t), "xfs_ili",
-					KM_ZONE_SPREAD, NULL);
+	xfs_ili_zone = kmem_cache_create("xfs_ili",
+					 sizeof(struct xfs_inode_log_item), 0,
+					 SLAB_MEM_SPREAD, NULL);
 	if (!xfs_ili_zone)
 		goto out_destroy_inode_zone;
-	xfs_icreate_zone = kmem_zone_init(sizeof(struct xfs_icreate_item),
-					"xfs_icr");
+
+	xfs_icreate_zone = kmem_cache_create("xfs_icr",
+					     sizeof(struct xfs_icreate_item),
+					     0, 0, NULL);
 	if (!xfs_icreate_zone)
 		goto out_destroy_ili_zone;
 
-	xfs_rud_zone = kmem_zone_init(sizeof(struct xfs_rud_log_item),
-			"xfs_rud_item");
+	xfs_rud_zone = kmem_cache_create("xfs_rud_item",
+					 sizeof(struct xfs_rud_log_item),
+					 0, 0, NULL);
 	if (!xfs_rud_zone)
 		goto out_destroy_icreate_zone;
 
-	xfs_rui_zone = kmem_zone_init(
+	xfs_rui_zone = kmem_cache_create("xfs_rui_item",
 			xfs_rui_log_item_sizeof(XFS_RUI_MAX_FAST_EXTENTS),
-			"xfs_rui_item");
+			0, 0, NULL);
 	if (!xfs_rui_zone)
 		goto out_destroy_rud_zone;
 
-	xfs_cud_zone = kmem_zone_init(sizeof(struct xfs_cud_log_item),
-			"xfs_cud_item");
+	xfs_cud_zone = kmem_cache_create("xfs_cud_item",
+					 sizeof(struct xfs_cud_log_item),
+					 0, 0, NULL);
 	if (!xfs_cud_zone)
 		goto out_destroy_rui_zone;
 
-	xfs_cui_zone = kmem_zone_init(
+	xfs_cui_zone = kmem_cache_create("xfs_cui_item",
 			xfs_cui_log_item_sizeof(XFS_CUI_MAX_FAST_EXTENTS),
-			"xfs_cui_item");
+			0, 0, NULL);
 	if (!xfs_cui_zone)
 		goto out_destroy_cud_zone;
 
-	xfs_bud_zone = kmem_zone_init(sizeof(struct xfs_bud_log_item),
-			"xfs_bud_item");
+	xfs_bud_zone = kmem_cache_create("xfs_bud_item",
+					 sizeof(struct xfs_bud_log_item),
+					 0, 0, NULL);
 	if (!xfs_bud_zone)
 		goto out_destroy_cui_zone;
 
-	xfs_bui_zone = kmem_zone_init(
+	xfs_bui_zone = kmem_cache_create("xfs_bui_item",
 			xfs_bui_log_item_sizeof(XFS_BUI_MAX_FAST_EXTENTS),
-			"xfs_bui_item");
+			0, 0, NULL);
 	if (!xfs_bui_zone)
 		goto out_destroy_bud_zone;