Re: [PATCH v13 5/9] nvme: add copy offload support

From: Christoph Hellwig
Date: Thu Jul 20 2023 - 04:00:34 EST


> + if (blk_rq_nr_phys_segments(req) != 2)
> + return BLK_STS_IOERR;

The magic number of segments adding up source and dest really need
constants and helpers to make the code understandable.

> + /* +1 shift as dst+src length is added in request merging, we send copy
> + * for half the length.
> + */
> + n_lba = blk_rq_bytes(req) >> (ns->lba_shift + 1);

I do not understand the logic and comment here.

> + if (WARN_ON(!n_lba))

WARN_ON_ONCE

> + return BLK_STS_NOTSUPP;

and BLK_STS_NOTSUPP seems like the wrong error here, this is an
invalid argument.