[patch] sysutils/beadm
Andrew Hotlab
andrew.hotlab at hotmail.com
Thu Feb 13 22:20:19 UTC 2014
First of all, thank you very much for the good work with this port. I'm sure it's changing the life of a lot FreeBSD system administrators!
In my setup I have the following layout (several datasets for /usr, /var, etc.):
NAME USED AVAIL REFER MOUNTPOINT
sys 1.55G 18.0G 31K none
sys/ROOT 532M 18.0G 31K none
sys/ROOT/default 114K 18.0G 250M /
sys/ROOT/default/tmp 22K 18.0G 38K /tmp
sys/ROOT/default/usr 1K 18.0G 245M /usr
sys/ROOT/default/var 48.5K 18.0G 36.4M /var
sys/swap 1.03G 19.0G 16K -
At this moment the utility does not seems to be able to manage this scheme, since it sets the mountpoint property as "legacy" for all datasets under the root, thus preventing to automatically mount any subdirectory at boot.
I've tested this simple solution (to let do the job to the canmount property), and it seems to solve the problem without affecting the behavior when all system folders are located under a single root dataset (please see the patch below). I'd be glad if you'll include it in the next port revision.
I'm at your disposal for any further detail.
Best regards.
Andrew
--- ./beadm 2014-01-11 17:08:31.112384992 +0100
+++ /usr/local/sbin/beadm 2014-01-11 17:06:38.620706860 +0100
@@ -505,7 +505,7 @@
if [ ${MOUNT} -eq 0 ]
then
zfs umount ${POOL}/${BEDS}/${2}
- zfs set mountpoint=legacy ${POOL}/${BEDS}/${2}
+ zfs set mountpoint=/ ${POOL}/${BEDS}/${2}
fi
fi
if ! zpool set bootfs=${POOL}/${BEDS}/${2} ${POOL} 1> /dev/null 2> /dev/null
@@ -518,6 +518,7 @@
ZFS_LIST=$( zfs list -H -o name -r ${POOL}/${BEDS} )
# disable automatic mount on all inactive boot environments
echo "${ZFS_LIST}" \
+ | grep -v "^${POOL}/${BEDS}$" \
| grep -v "^${POOL}/${BEDS}/${2}$" \
| grep -v "^${POOL}/${BEDS}/${2}/" \
| while read NAME
More information about the freebsd-ports
mailing list