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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to