]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/fstab-generator/fstab-generator.c
fstab-generator: add x-systemd.requires and x-systemd.requires-mounts-for
authorKarel Zak <kzak@redhat.com>
Mon, 18 May 2015 10:30:37 +0000 (12:30 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 18 May 2015 14:07:52 +0000 (16:07 +0200)
commit3519d230c8bafe834b2dac26ace49fcfba139823
treed7ecec678efe7c8a22a1db96ae9160f43585b91f
parent06ee4910e4746f18de63d573ab392bc60918e1f0
fstab-generator: add x-systemd.requires and x-systemd.requires-mounts-for

Currently we have no way how to specify dependencies between fstab
entries (or another units) in the /etc/fstab. It means that users are
forced to bypass fstab and write .mount units manually.

The patch introduces new systemd fstab options:

x-systemd.requires=<PATH>

 - to specify dependence an another mount (PATH is translated to unit name)

x-systemd.requires=<UNIT>

 - to specify dependence on arbitrary UNIT

x-systemd.requires-mounts-for=<PATH ...>

 - to specify dependence on another paths, implemented by
   RequiresMountsFor=. The option may be specified more than once.

For example two bind mounts where B depends on A:

 /mnt/test/A    /mnt/test/A     none    bind,defaults
 /mnt/test/A    /mnt/test/B     none    bind,x-systemd.requires=/mnt/test/A

More complex example with overlay FS where one mount point depends on
"low" and "upper" directories:

 /dev/sdc1   /mnt/low    ext4     defaults
 /dev/sdc2   /mnt/high   ext4     defaults
 overlay     /mnt/merged overlay  lowerdir=/mnt/low,upperdir=/mnt/high/data,workdir=/mnt/high/work,x-systemd.requires-mounts-for=/mnt/low,x-systemd.requires-mounts-for=mnt/high

https://bugzilla.redhat.com/show_bug.cgi?id=812826
https://bugzilla.redhat.com/show_bug.cgi?id=1164334
man/systemd.mount.xml
src/fstab-generator/fstab-generator.c
src/shared/fstab-util.c
src/shared/fstab-util.h