diff options
| author | Hongxu Jia <hongxu.jia@windriver.com> | 2017-09-21 04:04:42 -0400 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-09-22 22:50:48 +0000 |
| commit | 82dc6280f4bb6cd00664ee89aa2ab33111da24b6 (patch) | |
| tree | c4b533606b16546d618b28f45840aed25725f1a8 | |
| parent | 1a1595cbe453bfb37096efd2d953e5d8e8d5a4d3 (diff) | |
| download | meta-openembedded-82dc6280f4bb6cd00664ee89aa2ab33111da24b6.tar.gz | |
lvm2: fix start lvm2-monitor.service failed
While systemd based, start lvm2-monitor.service failed.
...
|Sep 21 05:37:34 qemux86-64 lvm[389]: /var/lock: stat failed: No such
file or directory
|Sep 21 05:37:34 qemux86-64 systemd[1]: lvm2-monitor.service: Main
process exited, code=exited, status=5/NOTINSTALLED
...
The failure of lvm2-monitor.service caused reboot hung when disk
partion is lvm thin provision.
While starting lvm2-monitor.service, it reqires the existence of
locking dir "/var/lock" which is a symlink to "../run/lock" in oe-core,
and "/run" is created in "/etc/fstab" which have to be be after the
start of lvm2-monitor.service.
So tweak the locking dir to "/tmp/lock" and make sure the dir existence
(after tmp.mount).
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
3 files changed, 34 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch b/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch new file mode 100644 index 0000000000..0e68d62fc2 --- /dev/null +++ b/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | From 24a2c47fd01dde1710f1fa66f5c30ce7010c5956 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Thu, 21 Sep 2017 15:28:10 +0800 | ||
| 4 | Subject: [PATCH] start lvm2-monitor.service after tmp.mount | ||
| 5 | |||
| 6 | The lvm2-monitor.service reqires the existence of locking_dir | ||
| 7 | ("/tmp/lock/lvm"), and unit tmp.mount is to mount /tmp. | ||
| 8 | So start lvm2-monitor.service after tmp.mount | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [oe specific] | ||
| 11 | |||
| 12 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 13 | --- | ||
| 14 | scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +- | ||
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in | ||
| 18 | index 22238b7..93b2bee 100644 | ||
| 19 | --- a/scripts/lvm2_monitoring_systemd_red_hat.service.in | ||
| 20 | +++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in | ||
| 21 | @@ -2,7 +2,7 @@ | ||
| 22 | Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling | ||
| 23 | Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8) | ||
| 24 | Requires=dm-event.socket lvm2-lvmetad.socket | ||
| 25 | -After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service | ||
| 26 | +After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service tmp.mount | ||
| 27 | Before=local-fs-pre.target | ||
| 28 | DefaultDependencies=no | ||
| 29 | Conflicts=shutdown.target | ||
| 30 | -- | ||
| 31 | 1.8.3.1 | ||
| 32 | |||
diff --git a/meta-oe/recipes-support/lvm2/files/lvm.conf b/meta-oe/recipes-support/lvm2/files/lvm.conf index 9e3b5fe296..c2bb85d8bf 100644 --- a/meta-oe/recipes-support/lvm2/files/lvm.conf +++ b/meta-oe/recipes-support/lvm2/files/lvm.conf | |||
| @@ -214,7 +214,7 @@ global { | |||
| 214 | 214 | ||
| 215 | # Local non-LV directory that holds file-based locks while commands are | 215 | # Local non-LV directory that holds file-based locks while commands are |
| 216 | # in progress. A directory like /tmp that may get wiped on reboot is OK. | 216 | # in progress. A directory like /tmp that may get wiped on reboot is OK. |
| 217 | locking_dir = "/var/lock/lvm" | 217 | locking_dir = "/tmp/lock/lvm" |
| 218 | 218 | ||
| 219 | # Other entries can go here to allow you to load shared libraries | 219 | # Other entries can go here to allow you to load shared libraries |
| 220 | # e.g. if support for LVM1 metadata was compiled as a shared library use | 220 | # e.g. if support for LVM1 metadata was compiled as a shared library use |
diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index 9791554a99..d2c1474172 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc | |||
| @@ -15,6 +15,7 @@ SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \ | |||
| 15 | file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \ | 15 | file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \ |
| 16 | file://0001-Avoid-bashisms-in-init-scripts.patch \ | 16 | file://0001-Avoid-bashisms-in-init-scripts.patch \ |
| 17 | file://0005-do-not-build-manual.patch \ | 17 | file://0005-do-not-build-manual.patch \ |
| 18 | file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \ | ||
| 18 | " | 19 | " |
| 19 | S = "${WORKDIR}/LVM2.${PV}" | 20 | S = "${WORKDIR}/LVM2.${PV}" |
| 20 | 21 | ||
