Thread (31 messages) 31 messages, 4 authors, 2023-08-15

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

From: Bart Van Assche <bvanassche@acm.org>
Date: 2023-08-11 21:33:41
Also in: dm-devel, linux-block, linux-fsdevel, linux-nvme, lkml

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.
+ *	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?
+		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.
+		dst_bio->bi_iter.bi_size = chunk;
+		dst_bio->bi_iter.bi_sector = pos_out >> SECTOR_SHIFT;
+		dst_bio->bi_end_io = blkdev_copy_offload_dst_endio;
+		dst_bio->bi_private = offload_io;
Thanks,

Bart.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help