[patch] sysutils/beadm

Bryan Drewery bdrewery at FreeBSD.org
Wed Feb 19 13:27:51 UTC 2014


On 2/13/2014 4:19 PM, Andrew Hotlab wrote:
> 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 		 	   		  
> 

ACK on this. CC'ing upstream maintainer too.

I run the same setup but I specifically set /usr /var and /tmp mntpoints
to /usr,/var/,/tmp to avoid this issue. I am not sure if mntpoint=/ is
proper. I recall there being an issue with it. I would much prefer your
patch though if it is safe.

Does beadm mount still work with this to mount a new BE into /tmp?

Ie,

beadm create newbe
beadm mount newbe

Does it go and remount / or only touch /tmp?

How about activating? Does it blow away / right away or wait until reboot?

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 553 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20140219/47198181/attachment.sig>


More information about the freebsd-ports mailing list