Go to file
Didier Roche 5f67022bf7 Workaround to avoid a race when /var/lib is a persistent dataset
If /var/lib is a dataset not under <pool>/ROOT/<root_dataset>, as
proposed in the ubuntu root on zfs upstream guide
(https://github.com/zfsonlinux/zfs/wiki/Ubuntu-18.04-Root-on-ZFS),
we end up with a race where some services, like systemd-random-seed
are writing under /var/lib, while zfs-mount is called. zfs mount will
then potentially fail because of /var/lib isn't empty and so, can't be
mounted.
Order those 2 units for now (more may be needed) as we can't declare
virtually a provide mount point to match
"RequiresMountsFor=/var/lib/systemd/random-seed" from
systemd-random-seed.service.
The optional generator for zfs 0.8 fixes it, but it's not enabled
by default nor necessarily required.

Example:
- rpool/ROOT/ubuntu (mountpoint = /)
- rpool/var/ (mountpoint = /var)
- rpool/var/lib  (mountpoint = /var/lib)

Both zfs-mount.service and systemd-random-seed.service are starting
After=systemd-remount-fs.service. zfs-mount.service should be done
before local-fs.target while systemd-random-seed.service should finish
before sysinit.target (which is a later target).
Ideally, we would have a way for zfs mount -a unit to declare all paths
or move systemd-random-seed after local-fs.target.

Reviewed-by: Antonio Russo <antonio.e.russo@gmail.com>
Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Didier Roche <didrocks@ubuntu.com>
Closes #9360
2020-01-22 13:49:02 -08:00
.github
cmd Linux 5.0 compat: SIMD compatibility 2020-01-22 13:49:01 -08:00
config Perform KABI checks in parallel 2020-01-22 13:49:01 -08:00
contrib Fix for zfs-dracut regression 2020-01-22 13:49:01 -08:00
etc Workaround to avoid a race when /var/lib is a persistent dataset 2020-01-22 13:49:02 -08:00
include SIMD: Use alloc_pages_node to force alignment 2020-01-22 13:49:01 -08:00
lib Refactor libzfs_error_init newlines 2020-01-22 13:49:01 -08:00
man Add warning for zfs_vdev_elevator option removal 2020-01-22 13:49:01 -08:00
module Linux 5.0 compat: SIMD compatibility 2020-01-22 13:49:01 -08:00
rpm Canonicalize Python shebangs 2020-01-22 13:49:00 -08:00
scripts
tests ZTS: harden xattr/cleanup.ksh 2020-01-22 13:49:01 -08:00
udev
.gitignore Perform KABI checks in parallel 2020-01-22 13:49:01 -08:00
.gitmodules
.travis.yml
AUTHORS
autogen.sh
CODE_OF_CONDUCT.md
configure.ac
copy-builtin
COPYRIGHT
LICENSE
Makefile.am Perform KABI checks in parallel 2020-01-22 13:49:01 -08:00
META
NEWS
NOTICE
README.md
TEST
zfs.release.in

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov coverity

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.

Release

ZFS on Linux is released under a CDDL license.
For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported kernel versions.