Some systems use non-default configurations referred to as "deep" boot environments. Deep boot environments place datasets belonging to the boot environment subordinate to the boot environment dataset itself, rather than elsewhere in the pool structure. This kind of boot environment requires the -r flag to bectl(8) for most operations in order to recurse on these subordinate datasets, but freebsd-update(8) was not recursing when creating a backup boot environment. Without recursing in bectl(8), backups taken of a deep boot environment are not complete snapshots of the system state before the upgrade takes place. This means that it's potentially painful to try and rollback to the pre-upgrade state after the upgrade has completed.