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.

Reply via email to