summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>2021-06-09 18:32:48 -0700
committerChristoph Hellwig <hch@lst.de>2021-06-17 15:51:20 +0200
commitc28a61471c5898e832c6e8634b2659249761b833 (patch)
treed4cf1a5dc7a2157d2fdb246e342feb88c156b4ba /block
parent7860569ad47f9fbd7c9f93a5c2b7d2a18e4af831 (diff)
downloadlinux-stable-c28a61471c5898e832c6e8634b2659249761b833.tar.gz
linux-stable-c28a61471c5898e832c6e8634b2659249761b833.tar.bz2
linux-stable-c28a61471c5898e832c6e8634b2659249761b833.zip
block: export blk_next_bio()
The block layer provides emulation of zone management operations targeting all zones of a zoned block device only for the zone reset operation (REQ_OP_ZONE_RESET). In order to correctly implement exporting of zoned block devices with NVMeOF, emulating zone management operations targeting all zones of a device is also necessary for the open, close and finish zone operations (REQ_OP_ZONE_OPEN, REQ_OP_ZONE_CLOSE and REQ_OP_ZONE_FINISH). Instead of duplicating the code, export the existing helper from block layer so we can use a bio chaining pattern that is present in the block layer for REQ_OP_ZONE RESET all emulation in the NVMeOF zoned block device backend. Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com> Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'block')
-rw-r--r--block/blk-lib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/block/blk-lib.c b/block/blk-lib.c
index 7b256131b20b..9f09beadcbe3 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -21,6 +21,7 @@ struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
return new;
}
+EXPORT_SYMBOL_GPL(blk_next_bio);
int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
sector_t nr_sects, gfp_t gfp_mask, int flags,