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 <chaitanya.kulkarni@xxxxxxx> > --- > 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.