diff options
Diffstat (limited to 'sys-fs/zfs/files/zfs-0.6.1-gentoo-openrc-dependencies.patch')
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.1-gentoo-openrc-dependencies.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sys-fs/zfs/files/zfs-0.6.1-gentoo-openrc-dependencies.patch b/sys-fs/zfs/files/zfs-0.6.1-gentoo-openrc-dependencies.patch new file mode 100644 index 000000000000..e794b183eb33 --- /dev/null +++ b/sys-fs/zfs/files/zfs-0.6.1-gentoo-openrc-dependencies.patch @@ -0,0 +1,57 @@ +commit 75c2fb953c99bba008f1ef72ee71136002749f51 +Author: Richard Yao <ryao@cs.stonybrook.edu> +Date: Tue May 28 20:08:15 2013 -0400 + + Improve OpenRC init script + + The current zfs OpenRC script's dependencies cause OpenRC to attempt to + unmount ZFS filesystems at shutdown while things were still using them, + which would fail. This is a cosmetic issue, but it should still be + addressed. It probably does not affect systems where the rootfs is a + legacy filesystem, but any system with the rootfs on ZFS needs to run + the ZFS init script after the system is ready to shutdown filesystems. + + OpenRC's shutdown process occurs in the reverse order of the startup + process. Therefore running the ZFS shutdown procedure after filesystems + are ready to be unmounted requires running the startup procedure before + fstab. This patch changes the dependencies of the script to expliclty + run before fstab at boot when the rootfs is ZFS and to run after fstab + at boot whenever the rootfs is not ZFS. This should cover most use + cases. + + The only cases not covered well by this are systems with legacy + root filesystems where people want to configure fstab to mount a non-ZFS + filesystem off a zvol and possibly also systems whose pools are stored + on network block devices. The former requires that the ZFS script run + before fstab, which could cause ZFS datasets to mount too early and + appear under the fstab mount points. The latter requires that the ZFS + script run after networking starts, which precludes the ability to store + any system information on ZFS. An additional OpenRC script could be + written to handle non-root pools on network block devices, but that will + depend on user demand and developer time. + + Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> + +diff --git a/etc/init.d/zfs.gentoo.in b/etc/init.d/zfs.gentoo.in +index 5b8671e..0034e02 100644 +--- a/etc/init.d/zfs.gentoo.in ++++ b/etc/init.d/zfs.gentoo.in +@@ -10,9 +10,16 @@ fi + + depend() + { ++ # Try to allow people to mix and match fstab with ZFS in a way that makes sense. ++ if [ "$(mountinfo -s /)" = 'zfs' ] ++ then ++ before localmount ++ else ++ after localmount ++ fi ++ + # bootmisc will log to /var which may be a different zfs than root. +- before net bootmisc +- after udev localmount ++ before bootmisc logger + keyword -lxc -openvz -prefix -vserver + } + |