1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-17 06:04:23 +03:00

systemd: various updates and fixes

Don't use lvmetad in lvm2-monitor.service ExecStop to avoid a systemd issue.
 - a systemd design issue while processing dependencies
   with socket-based activation that ends up with a hang
 - https://bugzilla.redhat.com/show_bug.cgi?id=843587
   (also tracker bug https://bugzilla.redhat.com/show_bug.cgi?id=871527)
 - not using lvmetad in this case is just a workaround, once the bug
   above is resolved, we should enable the lvmetad in that specific case

Remove dependency on fedora-storage-init.service in lvm2 systemd units.
 - fedora-storage-init.service and fedora-storage-init-late.service is
   going to be separated into respective units that belong to each block
   device subsystem:
     - mpath + mdraid activated via udev solely
     - dmraid with its own dmraid-activation.service unit
     - lvm2 with the lvm2-activation-generator to generate the
       activation units runtime if lvmetad disabled
       (global/use_lvmetad=0 set in lvm.conf) and activation done
       via udev+lvmetad if lvmetad enabled (global/use_lvmetad=1 set
       in lvm.conf)

Depend on lvm2-lvmetad.socket in lvm2-monitor.service systemd unit.
 - as lvm2-monitor uses lvmetad if lvmetad is enabled
This commit is contained in:
Peter Rajnoha 2012-10-30 20:36:49 +01:00
parent 09d77d0c94
commit 360c569ce8
2 changed files with 7 additions and 3 deletions

View File

@ -1,5 +1,8 @@
Version 2.02.99 - Version 2.02.99 -
=================================== ===================================
Don't use lvmetad in lvm2-monitor.service ExecStop to avoid a systemd issue.
Remove dependency on fedora-storage-init.service in lvm2 systemd units.
Depend on lvm2-lvmetad.socket in lvm2-monitor.service systemd unit.
Hardcode use_lvmetad=0 if cluster locking used and issue a warning msg. Hardcode use_lvmetad=0 if cluster locking used and issue a warning msg.
Avoid reading mirrors with failed devices in its mirrored log. Avoid reading mirrors with failed devices in its mirrored log.
Avoid reading from mirrors that have failed devices if they block I/O. Avoid reading from mirrors that have failed devices if they block I/O.

View File

@ -1,8 +1,8 @@
[Unit] [Unit]
Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8) Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8)
Requires=dm-event.socket Requires=dm-event.socket lvm2-lvmetad.socket
After=dm-event.socket fedora-storage-init.service fedora-storage-init-late.service lvm2-activation.service lvm2-lvmetad.service After=dm-event.socket lvm2-lvmetad.socket lvm2-lvmetad.service
Before=local-fs.target Before=local-fs.target
DefaultDependencies=no DefaultDependencies=no
Conflicts=shutdown.target Conflicts=shutdown.target
@ -11,7 +11,8 @@ Conflicts=shutdown.target
Type=oneshot Type=oneshot
Environment=LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1 Environment=LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1
ExecStart=@sbindir@/lvm vgchange --monitor y ExecStart=@sbindir@/lvm vgchange --monitor y
ExecStop=@sbindir@/lvm vgchange --monitor n # The lvmetad must be disabled here, it needs https://bugzilla.redhat.com/show_bug.cgi?id=843587 to be resolved first.
ExecStop="@sbindir@/lvm vgchange --monitor n --config 'global{use_lvmetad=0}'"
RemainAfterExit=yes RemainAfterExit=yes
[Install] [Install]