On 3/9/22 10:51, Mikulas Patocka wrote:

Hi

Note that you must submit kcopyd callbacks from a single thread, otherwise
there's a race condition in snapshot.


Hi,

Thanks for the feedback. Yes, I'm aware of that.

The snapshot code doesn't take locks in the copy_callback and it expects
that the callbacks are serialized.

Maybe, adding the locks to copy_callback would solve it.


That's what I did. I used a lock to ensure that kcopyd callbacks are
serialized for persistent snapshots.

For transient snapshots we can lift this limitation, and complete
pending exceptions out-of-oder and in "parallel", i.e., without
explicitly serializing kcopyd callbacks. The locks in pending_complete()
are enough in this case.

Nikos

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to