** Also affects: zfs
   Importance: Undecided
       Status: New

** Description changed:

-  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)
+ 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.
+ 
+ Upstream PR: https://github.com/zfsonlinux/zfs/pull/9360

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to zfs-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1845298

Title:
  Potential race with systemd if /var/lib is an independent persistent
  unit

Status in Native ZFS for Linux:
  New
Status in zfs-linux package in Ubuntu:
  New

Bug description:
  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.

  Upstream PR: https://github.com/zfsonlinux/zfs/pull/9360

To manage notifications about this bug go to:
https://bugs.launchpad.net/zfs/+bug/1845298/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to