freebsd-skq/lib/libbe
kevans c8fc070608 libbe(3): Change be_mount to mount/unmount child datasets
This set of changes is geared towards making bectl respect deep boot
environments when they exist and are mounted. The deep BE composition
functionality (`bectl add`) remains disabled for the time being. This set of
changes has no effect for the average user. but allows deep BE users to
upgrade properly with their current setup.

libbe(3): Open the target boot environment and get a zfs handle, then pass
that with the target mountpoint to be_mount_iter; If the BE_MNT_DEEP flag is
set call zfs_iter_filesystems and mount the child datasets.

Similar logic is employed when unmounting the datasets, save for children
are unmounted first.

bectl(8): Change bectl_cmd_jail to pass the BE_MNT_DEEP flag when
calling be_mount as well as call be_unmount when cleaning up after the
jail has exited instead of umount(2) directly.

PR:		234795
Submitted by:	Wes Maag <jwmaag_gmail.com> (test additions by kevans)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D18796
2019-01-10 03:27:20 +00:00
..
be_access.c libbe(3): Change be_mount to mount/unmount child datasets 2019-01-10 03:27:20 +00:00
be_error.c libbe(3): Fix error handling with respect to be_exists 2018-09-01 02:22:26 +00:00
be_impl.h libbe(3): move altroot augmentation bits around a little bit 2019-01-09 22:31:10 +00:00
be_info.c bectl(3)/libbe(3): Allow BE root to be specified 2018-11-19 02:12:08 +00:00
be.c libbe(3): move altroot augmentation bits around a little bit 2019-01-09 22:31:10 +00:00
be.h bectl(3)/libbe(3): Allow BE root to be specified 2018-11-19 02:12:08 +00:00
libbe.3 Cross-reference libbe(3) and bectl(8). 2018-11-21 12:46:28 +00:00
Makefile libbe(3)/bectl(8): Make consistent with beadm 2018-08-24 20:44:58 +00:00