Re: [PATCH v13 2/9] block: Add copy offload support infrastructure

From: Nitesh Shetty
Date: Thu Jul 27 2023 - 06:30:47 EST


On Thu, Jul 20, 2023 at 1:12 PM Christoph Hellwig <hch@xxxxxx> wrote:
> > Suggested-by: Christoph Hellwig <hch@xxxxxx>
>
> Hmm, I'm not sure I suggested adding copy offload..
>
We meant for request based design, we will remove it.

> > static inline unsigned int blk_rq_get_max_segments(struct request *rq)
> > {
> > if (req_op(rq) == REQ_OP_DISCARD)
> > @@ -303,6 +310,8 @@ static inline bool bio_may_exceed_limits(struct bio *bio,
> > break;
> > }
> >
> > + if (unlikely(op_is_copy(bio->bi_opf)))
> > + return false;
>
> This looks wrong to me. I think the copy ops need to be added to the
> switch statement above as they have non-trivial splitting decisions.
> Or at least should have those as we're missing the code to split
> copy commands right now.
>

Agreed, copy will have non-trivial splitting decisions. But, I
couldn't think of scenarios where this could happen, as we check for
queue limits before issuing a copy. Do you see scenarios where split
could happen for copy here.

Acked for all other review comments.

Thank you,
Nitesh Shetty