7

With ubuntu 14.04 I had two zfs mount points set to legacy so I could mount one filesystem on another via fstab. I.e:

zfs_1/base /home/xyz zfs_2/photo /home/xyz/stuff/photo 

With ubuntu 16.04 zfs is not loaded before fstab is processed so I tried to remove the legacy mount points and set the mount points on the file systems.

The problem is I don't see how to set a mount order. If zfs_2/photo is mounted first it will auto-create the tree and then zfs_1/base will fail to mount since the directory is not empty. Is there a simple fix for this issue with 16.04 ?

I had a related issue that I would bind photo to an exported nfs volume /export/photo; but I think I can solve that problem via using a symlink /export/photo -> /home/xyz/stuff/photo and then still export /export/photo via nfs (need to test it).

The easiest solution would be to revert to legacy and use /etc/fstab but from what I have read in ubuntu forum this does not seem to be an option.

1 Answer 1

3

You can force ZFS to be loaded early by including it into a file in /etc/modules-load.d/*.conf. Say, we create /etc/modules-load.d/zfs.conf with the following content:

zfs 

The code itself also comes with a systemd service (actually a couple of them) and you can add system dependencies with the latest mount implementations. For example:

/zfs_1/base /home/xyz none defaults,bind,x-systemd.requires=zfs-mount.service 0 0 /zfs_2/photo /home/xyz/stuff/photo none defaults,bind,x-systemd.requires=zfs-mount.service 0 0 

(Disclaimer: I am aware that x-systemd.requires works on the latest Arch and Debian Testing, may not be there yet in Ubuntu 16.04, although it is in the mount man page)

1
  • The 'bind' was not correct but the x-systemd.requires=zfs... was sufficient to make it work; /etc/modules did not have to be edited. Thanks! Commented Aug 8, 2016 at 20:44

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.