[dm-devel] [PATCH v14 03/11] block: add copy offload support

Nitesh Shetty nitheshshetty at gmail.com
Mon Aug 14 10:01:53 PDT 2023


On Sat, Aug 12, 2023 at 3:10 AM Bart Van Assche <bvanassche at acm.org> wrote:
>
> On 8/11/23 03:52, Nitesh Shetty wrote:
> > + * Description:
> > + *   Copy source offset to destination offset within block device, using
> > + *   device's native copy offload feature.
>
> Offloading the copy operation is not guaranteed so I think that needs to
> be reflected in the above comment.
>
Acked.
> > + *   We perform copy operation by sending 2 bio's.
> > + *   1. We take a plug and send a REQ_OP_COPY_SRC bio along with source
> > + *   sector and length. Once this bio reaches request layer, we form a
> > + *   request and wait for dst bio to arrive.
>
> What will happen if the queue depth of the request queue at the bottom
> is one?
>
For any reason if a request reaches the driver with only one of the src/dst bio,
copy will fail. This design requires only one request to do a copy,
so it should work fine.

> > +             blk_start_plug(&plug);
> > +             dst_bio = blk_next_bio(src_bio, bdev, 0, REQ_OP_COPY_DST, gfp);
>
> blk_next_bio() can return NULL so its return value should be checked.
>
Acked.

Thank you,
Nitesh Shetty



More information about the Linux-nvme mailing list