diff options
author | Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> | 2021-06-10 04:32:48 +0300 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2021-06-17 16:51:20 +0300 |
commit | c28a61471c5898e832c6e8634b2659249761b833 (patch) | |
tree | d4cf1a5dc7a2157d2fdb246e342feb88c156b4ba /include/linux/bio.h | |
parent | 7860569ad47f9fbd7c9f93a5c2b7d2a18e4af831 (diff) | |
download | linux-c28a61471c5898e832c6e8634b2659249761b833.tar.xz |
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 'include/linux/bio.h')
-rw-r--r-- | include/linux/bio.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index a0b4cfdf62a4..b2491ead22a0 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -822,4 +822,6 @@ static inline void bio_set_polled(struct bio *bio, struct kiocb *kiocb) bio->bi_opf |= REQ_NOWAIT; } +struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp); + #endif /* __LINUX_BIO_H */ |