fstab-generator: support for x-systemd.onfailure
Add support for the x-systemd.onfailure fstab option in fstab-generator. This allows generated mount units to include the systemd OnFailure= dependency specified through /etc/fstab. x-systemd.onfailure= is handled by generalizing the existing write_dependency() helper (already used for After=/Before=/Requires=/ Wants=) to take an optional unit-name suffix. When no suffix is given, unit names are mangled without forcing a ".mount" suffix, since OnFailure= targets are not necessarily mount units. write_on_failure() is now a thin wrapper around write_dependency(). Example: /dev/sda1 /data ext4 defaults,x-systemd.onfailure=emergency.target 0 2 generates: OnFailure=emergency.target This makes it possible to attach recovery targets or services to mount failures directly from fstab configuration. Add documentation and generator tests.
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
../mnt-onfailure.mount
|
||||
+1
@@ -0,0 +1 @@
|
||||
../mnt-onfailuremulti.mount
|
||||
@@ -0,0 +1,13 @@
|
||||
# Automatically generated by systemd-fstab-generator
|
||||
|
||||
[Unit]
|
||||
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
|
||||
SourcePath=/etc/fstab
|
||||
OnFailure=foo.service
|
||||
Before=local-fs.target
|
||||
After=blockdev@dev-sdx18.target
|
||||
|
||||
[Mount]
|
||||
What=/dev/sdx18
|
||||
Where=/mnt/onfailure
|
||||
Options=x-systemd.onfailure=foo.service
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
# Automatically generated by systemd-fstab-generator
|
||||
|
||||
[Unit]
|
||||
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
|
||||
SourcePath=/etc/fstab
|
||||
OnFailure=foo.service bar.service
|
||||
Before=local-fs.target
|
||||
After=blockdev@dev-sdx19.target
|
||||
|
||||
[Mount]
|
||||
What=/dev/sdx19
|
||||
Where=/mnt/onfailuremulti
|
||||
Options=x-systemd.onfailure=foo.service,x-systemd.onfailure=bar.service
|
||||
+1
@@ -0,0 +1 @@
|
||||
../mnt-onfailure.mount
|
||||
+1
@@ -0,0 +1 @@
|
||||
../mnt-onfailuremulti.mount
|
||||
@@ -0,0 +1,13 @@
|
||||
# Automatically generated by systemd-fstab-generator
|
||||
|
||||
[Unit]
|
||||
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
|
||||
SourcePath=/etc/fstab
|
||||
OnFailure=foo.service
|
||||
Before=local-fs.target
|
||||
After=blockdev@dev-sdx18.target
|
||||
|
||||
[Mount]
|
||||
What=/dev/sdx18
|
||||
Where=/mnt/onfailure
|
||||
Options=x-systemd.onfailure=foo.service
|
||||
@@ -0,0 +1,13 @@
|
||||
# Automatically generated by systemd-fstab-generator
|
||||
|
||||
[Unit]
|
||||
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
|
||||
SourcePath=/etc/fstab
|
||||
OnFailure=foo.service bar.service
|
||||
Before=local-fs.target
|
||||
After=blockdev@dev-sdx19.target
|
||||
|
||||
[Mount]
|
||||
What=/dev/sdx19
|
||||
Where=/mnt/onfailuremulti
|
||||
Options=x-systemd.onfailure=foo.service,x-systemd.onfailure=bar.service
|
||||
@@ -15,3 +15,5 @@
|
||||
/dev/sdx15 /mnt/noauto auto noauto 0 0
|
||||
/dev/sdx16 /mnt/nofail auto nofail 0 0
|
||||
/dev/sdx17 /mnt/wantedby-automount auto x-systemd.wanted-by=foo.service,x-systemd.automount 0 0
|
||||
/dev/sdx18 /mnt/onfailure auto x-systemd.onfailure=foo.service 0 0
|
||||
/dev/sdx19 /mnt/onfailuremulti auto x-systemd.onfailure=foo.service,x-systemd.onfailure=bar.service 0 0
|
||||
|
||||
Reference in New Issue
Block a user