ZoL: wrong import order prevents boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
zfs-linux (Ubuntu) |
Expired
|
Low
|
Unassigned |
Bug Description
I've the following zfs:
# zfs list -r rpool/VARSHARE
NAME USED AVAIL REFER MOUNTPOINT
rpool/VARSHARE 114K 165G 30K /var/share
rpool/VARSHARE/lxc 84K 165G 19K /var/share/lxc
rpool/VARSHARE/
rpool/VARSHARE/
rpool/VARSHARE/
On boot, we see
Starting Mount ZFS filesystems...
[FAILED] Failed to start Mount ZFS filesystems.
See 'systemctl status zfs-mount.service' for details.
Welcome to emergPress Enter for maintenance
(or press Control-D to continue):
# df -h /var/share
rpool/VARSHARE/lxc 165G 0 165G 0% /var/share/lxc
rpool/VARSHARE/
rpool/VARSHARE/
rpool/VARSHARE/
Obviously rpool/VARSHARE - the parent of rpool/VARSHARE/lxc - was not mounted, even so canmount property is for all set to on, rpool/VARSHARE's mountpoint to /var/share and rpool/VARSHARE/lxc children inherit their mountpoint.
# systemctl status zfs-mount.service
● zfs-mount.service - Mount ZFS filesystems
Loaded: loaded (/lib/systemd/
Active: failed (Result: exit-code) since Sun 2017-05-28 04:51:46 CEST; 13min ago
Process: 6935 ExecStart=/sbin/zfs mount -a (code=exited, status=1/FAILURE)
Main PID: 6935 (code=exited, status=1/FAILURE)
May 28 04:51:45 ares systemd[1]: Starting Mount ZFS filesystems...
May 28 04:51:45 ares zfs[6935]: cannot mount '/var/share': directory is not empty
May 28 04:51:46 ares systemd[1]: zfs-mount.service: Main process exited, code=exited, status=1/FAILURE
May 28 04:51:46 ares systemd[1]: Failed to start Mount ZFS filesystems.
May 28 04:51:46 ares systemd[1]: zfs-mount.service: Unit entered failed state.
May 28 04:51:46 ares systemd[1]: zfs-mount.service: Failed with result 'exit-code'.
So 'zfs mount ...' seems to be severely buggy.
Changed in zfs-linux (Ubuntu): | |
importance: | Undecided → Low |
This is the problem:
'/var/share': directory is not empty
Figure out what is in there and deal with this appropriately.
I don't personally love that ZFS refuses to mount on non-empty directories, but most of the time, the fact that the directory is non-empty is the real problem.