[lvm-devel] Concurrent calls lvm create vs lvm remove

Lakshmi Narasimhan Sundararajan lsundararajan at purestorage.com
Mon Aug 23 13:25:17 UTC 2021


Hi Team!
A very good day to you.
I want to understand how lvm concurrent calls between create and remove for
lvm volumes are handled.

Very rarely, I see that when create and remove lvm volume (over a thin
pool) run in parallel, lvm create fails with no vg. Looking at lvm metadata
debug logs, they seem slightly different with
pv gone, removing empty VG, moving PV to #orphan, and a vg_update which
eventually brings back everything.

How is this race between create and remove handled or more generally if it
applies, how are concurrent calls over lvm protected for consistency?
Are applications supposed to handle this? I would assume no.

My environment is convoluted and may not apply directly, but your help in
pointing to current design and usage rules will help me immensely.

Best regards
LN
* my environment involves containers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/lvm-devel/attachments/20210823/e22c74bb/attachment.htm>


More information about the lvm-devel mailing list