From: Damien Le Moal <damien.lemoal@wdc.com> To: dm-devel@redhat.com, Mike Snitzer <snitzer@redhat.com>, linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk> Subject: [PATCH v5 02/11] block: introduce bio zone helpers Date: Wed, 26 May 2021 06:24:52 +0900 [thread overview] Message-ID: <20210525212501.226888-3-damien.lemoal@wdc.com> (raw) In-Reply-To: <20210525212501.226888-1-damien.lemoal@wdc.com> Introduce the helper functions bio_zone_no() and bio_zone_is_seq(). Both are the BIO counterparts of the request helpers blk_rq_zone_no() and blk_rq_zone_is_seq(), respectively returning the number of the target zone of a bio and true if the BIO target zone is sequential. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> --- include/linux/blkdev.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index f69c75bd6d27..2db0f376f5d9 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1008,6 +1008,18 @@ static inline unsigned int blk_rq_stats_sectors(const struct request *rq) /* Helper to convert BLK_ZONE_ZONE_XXX to its string format XXX */ const char *blk_zone_cond_str(enum blk_zone_cond zone_cond); +static inline unsigned int bio_zone_no(struct bio *bio) +{ + return blk_queue_zone_no(bdev_get_queue(bio->bi_bdev), + bio->bi_iter.bi_sector); +} + +static inline unsigned int bio_zone_is_seq(struct bio *bio) +{ + return blk_queue_zone_is_seq(bdev_get_queue(bio->bi_bdev), + bio->bi_iter.bi_sector); +} + static inline unsigned int blk_rq_zone_no(struct request *rq) { return blk_queue_zone_no(rq->q, blk_rq_pos(rq)); -- 2.31.1
WARNING: multiple messages have this Message-ID (diff)
From: Damien Le Moal <damien.lemoal@wdc.com> To: dm-devel@redhat.com, Mike Snitzer <snitzer@redhat.com>, linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk> Subject: [dm-devel] [PATCH v5 02/11] block: introduce bio zone helpers Date: Wed, 26 May 2021 06:24:52 +0900 [thread overview] Message-ID: <20210525212501.226888-3-damien.lemoal@wdc.com> (raw) In-Reply-To: <20210525212501.226888-1-damien.lemoal@wdc.com> Introduce the helper functions bio_zone_no() and bio_zone_is_seq(). Both are the BIO counterparts of the request helpers blk_rq_zone_no() and blk_rq_zone_is_seq(), respectively returning the number of the target zone of a bio and true if the BIO target zone is sequential. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> --- include/linux/blkdev.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index f69c75bd6d27..2db0f376f5d9 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1008,6 +1008,18 @@ static inline unsigned int blk_rq_stats_sectors(const struct request *rq) /* Helper to convert BLK_ZONE_ZONE_XXX to its string format XXX */ const char *blk_zone_cond_str(enum blk_zone_cond zone_cond); +static inline unsigned int bio_zone_no(struct bio *bio) +{ + return blk_queue_zone_no(bdev_get_queue(bio->bi_bdev), + bio->bi_iter.bi_sector); +} + +static inline unsigned int bio_zone_is_seq(struct bio *bio) +{ + return blk_queue_zone_is_seq(bdev_get_queue(bio->bi_bdev), + bio->bi_iter.bi_sector); +} + static inline unsigned int blk_rq_zone_no(struct request *rq) { return blk_queue_zone_no(rq->q, blk_rq_pos(rq)); -- 2.31.1 -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2021-05-25 21:25 UTC|newest] Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-25 21:24 [PATCH v5 00/11] dm: Improve zoned block device support Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 01/11] block: improve handling of all zones reset operation Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-26 6:36 ` Hannes Reinecke 2021-05-26 6:36 ` [dm-devel] " Hannes Reinecke 2021-05-25 21:24 ` Damien Le Moal [this message] 2021-05-25 21:24 ` [dm-devel] [PATCH v5 02/11] block: introduce bio zone helpers Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 03/11] block: introduce BIO_ZONE_WRITE_LOCKED bio flag Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 04/11] dm: Fix dm_accept_partial_bio() Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 05/11] dm: cleanup device_area_is_invalid() Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 06/11] dm: move zone related code to dm-zone.c Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 07/11] dm: Introduce dm_report_zones() Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 08/11] dm: Forbid requeue of writes to zones Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-06-04 14:56 ` Mike Snitzer 2021-06-04 14:56 ` [dm-devel] " Mike Snitzer 2021-06-05 0:17 ` Damien Le Moal 2021-06-05 0:17 ` [dm-devel] " Damien Le Moal 2021-05-25 21:24 ` [PATCH v5 09/11] dm: rearrange core declarations Damien Le Moal 2021-05-25 21:24 ` [dm-devel] " Damien Le Moal 2021-05-25 21:25 ` [PATCH v5 10/11] dm: introduce zone append emulation Damien Le Moal 2021-05-25 21:25 ` [dm-devel] " Damien Le Moal 2021-05-26 6:40 ` Hannes Reinecke 2021-05-26 6:40 ` [dm-devel] " Hannes Reinecke 2021-05-25 21:25 ` [PATCH v5 11/11] dm crypt: Fix zoned block device support Damien Le Moal 2021-05-25 21:25 ` [dm-devel] " Damien Le Moal 2021-06-01 22:57 ` [PATCH v5 00/11] dm: Improve " Damien Le Moal 2021-06-01 22:57 ` [dm-devel] " Damien Le Moal 2021-06-02 18:32 ` Mike Snitzer 2021-06-02 18:32 ` [dm-devel] " Mike Snitzer 2021-06-03 17:46 ` Jens Axboe 2021-06-03 17:46 ` [dm-devel] " Jens Axboe 2021-06-03 22:16 ` Mike Snitzer 2021-06-03 22:16 ` [dm-devel] " Mike Snitzer 2021-06-03 23:44 ` Damien Le Moal 2021-06-03 23:44 ` [dm-devel] " Damien Le Moal
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210525212501.226888-3-damien.lemoal@wdc.com \ --to=damien.lemoal@wdc.com \ --cc=axboe@kernel.dk \ --cc=dm-devel@redhat.com \ --cc=linux-block@vger.kernel.org \ --cc=snitzer@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.