Re: [PATCH v6 3/9] block: add emulation for copy

From: Hannes Reinecke
Date: Thu Jan 12 2023 - 10:02:53 EST


On 1/12/23 15:46, Hannes Reinecke wrote:
On 1/12/23 12:58, Nitesh Shetty wrote:
For the devices which does not support copy, copy emulation is
added. Copy-emulation is implemented by reading from source ranges
into memory and writing to the corresponding destination asynchronously.
For zoned device we maintain a linked list of read submission and try to
submit corresponding write in same order.
Also emulation is used, if copy offload fails or partially completes.

Signed-off-by: Nitesh Shetty <nj.shetty@xxxxxxxxxxx>
Signed-off-by: Vincent Fu <vincent.fu@xxxxxxxxxxx>
Signed-off-by: Anuj Gupta <anuj20.g@xxxxxxxxxxx>
---
  block/blk-lib.c        | 241 ++++++++++++++++++++++++++++++++++++++++-
  block/blk-map.c        |   4 +-
  include/linux/blkdev.h |   3 +
  3 files changed, 245 insertions(+), 3 deletions(-)

I'm not sure if I agree with this one.

You just submitted a patch for device-mapper to implement copy offload, which (to all intents and purposes) _is_ an emulation.

So why do we need to implement it in the block layer as an emulation?
Or, if we have to, why do we need the device-mapper emulation?
This emulation will be doing the same thing, no?

Sheesh. One should read the entire patchset.

Disregard the above comment.

Cheers,

Hannes