systemd zfs-import.target and documentation
zfs-import-{cache,scan}.service must complete before any mounting of filesystems can occur. To simplify this dependency, create a target that is reached After (in the systemd sense) the pool is imported. Additionally, recommend that legacy zfs mounts use the option x-systemd.requires=zfs-import.target to codify this requirement. Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com> Closes #6764
This commit is contained in:
parent
246e515cf8
commit
1c4f5e7d92
|
@ -7,6 +7,7 @@ systemdunit_DATA = \
|
|||
zfs-import-scan.service \
|
||||
zfs-mount.service \
|
||||
zfs-share.service \
|
||||
zfs-import.target \
|
||||
zfs.target
|
||||
|
||||
EXTRA_DIST = \
|
||||
|
@ -15,6 +16,7 @@ EXTRA_DIST = \
|
|||
$(top_srcdir)/etc/systemd/system/zfs-import-scan.service.in \
|
||||
$(top_srcdir)/etc/systemd/system/zfs-mount.service.in \
|
||||
$(top_srcdir)/etc/systemd/system/zfs-share.service.in \
|
||||
$(top_srcdir)/etc/systemd/system/zfs-import.target.in \
|
||||
$(top_srcdir)/etc/systemd/system/zfs.target.in \
|
||||
$(top_srcdir)/etc/systemd/system/50-zfs.preset.in
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ After=systemd-udev-settle.service
|
|||
After=cryptsetup.target
|
||||
After=systemd-remount-fs.service
|
||||
Before=dracut-mount.service
|
||||
Before=zfs-import.target
|
||||
ConditionPathExists=@sysconfdir@/zfs/zpool.cache
|
||||
|
||||
[Service]
|
||||
|
@ -15,5 +16,4 @@ ExecStartPre=/sbin/modprobe zfs
|
|||
ExecStart=@sbindir@/zpool import -c @sysconfdir@/zfs/zpool.cache -aN
|
||||
|
||||
[Install]
|
||||
WantedBy=zfs-mount.service
|
||||
WantedBy=zfs.target
|
||||
WantedBy=zfs-import.target
|
||||
|
|
|
@ -5,6 +5,7 @@ Requires=systemd-udev-settle.service
|
|||
After=systemd-udev-settle.service
|
||||
After=cryptsetup.target
|
||||
Before=dracut-mount.service
|
||||
Before=zfs-import.target
|
||||
ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
|
||||
|
||||
[Service]
|
||||
|
@ -14,5 +15,4 @@ ExecStartPre=/sbin/modprobe zfs
|
|||
ExecStart=@sbindir@/zpool import -aN -o cachefile=none
|
||||
|
||||
[Install]
|
||||
WantedBy=zfs-mount.service
|
||||
WantedBy=zfs.target
|
||||
WantedBy=zfs-import.target
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[Unit]
|
||||
Description=ZFS pool import target
|
||||
|
||||
[Install]
|
||||
WantedBy=zfs-mount.service
|
||||
WantedBy=zfs.target
|
|
@ -2,8 +2,7 @@
|
|||
Description=Mount ZFS filesystems
|
||||
DefaultDependencies=no
|
||||
After=systemd-udev-settle.service
|
||||
After=zfs-import-cache.service
|
||||
After=zfs-import-scan.service
|
||||
After=zfs-import.target
|
||||
After=systemd-remount-fs.service
|
||||
Before=local-fs.target
|
||||
|
||||
|
|
|
@ -440,7 +440,16 @@ If needed, ZFS file systems can also be managed with traditional tools
|
|||
If a file system's mount point is set to
|
||||
.Sy legacy ,
|
||||
ZFS makes no attempt to manage the file system, and the administrator is
|
||||
responsible for mounting and unmounting the file system.
|
||||
responsible for mounting and unmounting the file system. Because pools must
|
||||
be imported before a legacy mount can succeed, administrators should ensure
|
||||
that legacy mounts are only attempted after the zpool import process
|
||||
finishes at boot time. For example, on machines using systemd, the mount
|
||||
option
|
||||
.Pp
|
||||
.Nm x-systemd.requires=zfs-import.target
|
||||
.Pp
|
||||
will ensure that the zfs-import completes before systemd attempts mounting
|
||||
the filesystem. See systemd.mount(5) for details.
|
||||
.Ss Deduplication
|
||||
Deduplication is the process for removing redundant data at the block level,
|
||||
reducing the total amount of data stored. If a file system has the
|
||||
|
|
Loading…
Reference in New Issue