xfs: convert to bioset_init()/mempool_init()
authorKent Overstreet <kent.overstreet@gmail.com>
Sun, 20 May 2018 22:25:57 +0000 (18:25 -0400)
committerJens Axboe <axboe@kernel.dk>
Wed, 30 May 2018 21:33:32 +0000 (15:33 -0600)
Convert XFS to embedded bio sets.

Acked-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/xfs/xfs_aops.c
fs/xfs/xfs_aops.h
fs/xfs/xfs_super.c

index 0ab824f574ed1488087cfefcfa4ad4d0a7539d7b..102463543db30cc6dde2611a95d609911322d113 100644 (file)
@@ -594,7 +594,7 @@ xfs_alloc_ioend(
        struct xfs_ioend        *ioend;
        struct bio              *bio;
 
-       bio = bio_alloc_bioset(GFP_NOFS, BIO_MAX_PAGES, xfs_ioend_bioset);
+       bio = bio_alloc_bioset(GFP_NOFS, BIO_MAX_PAGES, &xfs_ioend_bioset);
        xfs_init_bio_from_bh(bio, bh);
 
        ioend = container_of(bio, struct xfs_ioend, io_inline_bio);
index 69346d460dfaf7c613c71f3c12326291c5f68033..694c85b03813ea811a781f6fb6700e7c161d73ae 100644 (file)
@@ -18,7 +18,7 @@
 #ifndef __XFS_AOPS_H__
 #define __XFS_AOPS_H__
 
-extern struct bio_set *xfs_ioend_bioset;
+extern struct bio_set xfs_ioend_bioset;
 
 /*
  * Types of I/O for bmap clustering and I/O completion tracking.
index d71424052917c716b460ba5e4170fbd0ef17b1c5..f643d76db516f49b40f789a4a32ce5887f8d22f8 100644 (file)
@@ -63,7 +63,7 @@
 #include <linux/parser.h>
 
 static const struct super_operations xfs_super_operations;
-struct bio_set *xfs_ioend_bioset;
+struct bio_set xfs_ioend_bioset;
 
 static struct kset *xfs_kset;          /* top-level xfs sysfs dir */
 #ifdef DEBUG
@@ -1845,10 +1845,9 @@ MODULE_ALIAS_FS("xfs");
 STATIC int __init
 xfs_init_zones(void)
 {
-       xfs_ioend_bioset = bioset_create(4 * MAX_BUF_PER_PAGE,
+       if (bioset_init(&xfs_ioend_bioset, 4 * MAX_BUF_PER_PAGE,
                        offsetof(struct xfs_ioend, io_inline_bio),
-                       BIOSET_NEED_BVECS);
-       if (!xfs_ioend_bioset)
+                       BIOSET_NEED_BVECS))
                goto out;
 
        xfs_log_ticket_zone = kmem_zone_init(sizeof(xlog_ticket_t),
@@ -1997,7 +1996,7 @@ xfs_init_zones(void)
  out_destroy_log_ticket_zone:
        kmem_zone_destroy(xfs_log_ticket_zone);
  out_free_ioend_bioset:
-       bioset_free(xfs_ioend_bioset);
+       bioset_exit(&xfs_ioend_bioset);
  out:
        return -ENOMEM;
 }
@@ -2029,7 +2028,7 @@ xfs_destroy_zones(void)
        kmem_zone_destroy(xfs_btree_cur_zone);
        kmem_zone_destroy(xfs_bmap_free_item_zone);
        kmem_zone_destroy(xfs_log_ticket_zone);
-       bioset_free(xfs_ioend_bioset);
+       bioset_exit(&xfs_ioend_bioset);
 }
 
 STATIC int __init