[PATCH v2 08/10] dm: Add support for copy offload.
Nitesh Shetty
nj.shetty at samsung.com
Thu Feb 24 04:42:13 PST 2022
On Wed, Feb 16, 2022 at 08:51:08AM -0500, Mikulas Patocka wrote:
>
>
> On Mon, 7 Feb 2022, Nitesh Shetty wrote:
>
> > Before enabling copy for dm target, check if underlaying devices and
> > dm target support copy. Avoid split happening inside dm target.
> > Fail early if the request needs split, currently spliting copy
> > request is not supported
> >
> > Signed-off-by: Nitesh Shetty <nj.shetty at samsung.com>
>
> If a dm device is reconfigured, you must invalidate all the copy tokens
> that are in flight, otherwise they would copy stale data.
>
> I suggest that you create a global variable "atomic64_t dm_changed".
> In nvme_setup_copy_read you copy this variable to the token.
> In nvme_setup_copy_write you compare the variable with the value in the
> token and fail if there is mismatch.
> In dm.c:__bind you increase the variable, so that all the tokens will be
> invalidated if a dm table is changed.
>
> Mikulas
>
>
Yes, you are right about the reconfiguration of dm device. But wouldn't having a
single global counter(dm_changed), will invalidate for all in-flight copy IO's
across all dm devices. Is my understanding correct?
--
Nitesh Shetty
More information about the Linux-nvme
mailing list