[linux-lvm] Reason to use -r when systemd-run vgchange -aay

Tom Yan tom.ty89 at gmail.com
Tue Dec 14 05:45:57 UTC 2021


Hi David,

I notice that in the "new" 69-dm-lvm.rules, vgchange -aay is run with
systemd-run, which is not a problem.

However, the fact that the --remain-after-exit (i.e. -r) switch is
used is, because the service is not stopped when e.g. one deactivates
a VG with vgchange -an, which will prevent the VG from being
auto-activated again if e.g. the PV is removed and inserted again.

I'm not sure if that was a desired behaviour / one of the intended
purposes. Regardless, I'm not exactly seeing the sense of that either.

Besides, I don't suppose it would work very well for multi-PV VGs
anyway. I mean, most likely similar errors (albeit probably harmless)
would be spammed because of the repeated attempt to *create* a
transient unit of the same name. (Repeated systemd-run is NOT the same
as repeated systemctl start; it's also the reason that triggering
`systemctl stop` with remove event is not a perfect idea either, since
transient unit created would be gone once it is stopped, so repeated
systemctl stop will cause more errors to be spammed; Yet we need the
unit to be gone when it is stopped for the current approach, even if
it's possible to prevent it from going away.)

So are there any reasons that we actually need -r? If so, I think we
need to deal with them with another approach (maybe unit template?).

I also saw this PR on github. I'm not sure if what it stated makes any
sense though: https://github.com/lvmteam/lvm2/pull/37

All the best,
Tom




More information about the linux-lvm mailing list