On Fri, Jun 28, 2019 at 10:04:41PM -0700, Chaitanya Kulkarni wrote:
> This patch creates a helper function for handling zoned block device
> operations.
>
> Signed-off-by: Chaitanya Kulkarni <[email protected]>
> ---
> drivers/block/null_blk_main.c | 50 +++++++++++++++++++++--------------
> 1 file changed, 30 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/block/null_blk_main.c b/drivers/block/null_blk_main.c
> index e75d187c7393..824392681a28 100644
> --- a/drivers/block/null_blk_main.c
> +++ b/drivers/block/null_blk_main.c
> @@ -1214,6 +1214,34 @@ static inline int nullb_handle_memory_backed(struct
> nullb_cmd *cmd)
> return null_handle_rq(cmd);
> }
>
> +static inline void nullb_handle_zoned(struct nullb_cmd *cmd)
> +{
> + unsigned int nr_sectors;
> + sector_t sector;
> + req_opf op;
> +
> + if (cmd->nq->dev->queue_mode == NULL_Q_BIO) {
> + op = bio_op(cmd->bio);
> + sector = cmd->bio->bi_iter.bi_sector;
> + nr_sectors = cmd->bio->bi_iter.bi_size >> 9;
> + } else {
> + op = req_op(cmd->rq);
> + sector = blk_rq_pos(cmd->rq);
> + nr_sectors = blk_rq_sectors(cmd->rq);
> + }
And this checks for the same info as the previous one.
You probably just want to pass sector and nr_sectors as an argument
to null_handle_cmd early in the series.
> + switch ((op)) {
No need for the double braces.