-- Introduce proper space calculation by each boot environment in *beadm list* -- Rework the *beadm destroy* command so no orphans are left after destroying boot environment. -- Fix the *beadm mount* and *beadm umount* commands error handling. -- Rework consistency of all error and informational messages. -- Simplify and cleanup code where possible. -- Fix *beadm destroy* for 'static' (not cloned) boot environments received by *zfs receive* command. -- Use mktemp(1) where possible. -- Implement *beadm list -a* option to list all datasets and snapshots of boot environments. -- Add proper mountpoint listing to the *beadm list* command. % beadm list BE Active Mountpoint Space Created default NR / 11.0G 2012-07-28 00:01 test1 - /tmp/tmp.IUQuFO 41.2M 2012-08-27 21:20 test2 - - 56.6M 2012-08-27 21:20
-- Change snapshot format to the one used by original *beadm* command (%Y-%m-%d-%H:%M:%S). % zfs list -t snapshot -o name -r sys/ROOT/default NAME sys/ROOT/default@2012-08-27-21:20:00 sys/ROOT/default@2012-08-27-21:20:18
-- Implement *beadm list -D* option to display space that would be consumed by single boot environment if all other boot environments will be destroyed. % beadm list -D BE Active Mountpoint Space Created default NR / 9.4G 2012-07-28 00:01 test1 - /tmp/tmp.IUQuFO 8.7G 2012-08-27 21:20 test2 - 8.7G 2012-08-27 21:20
-- Add an option to BEADM DESTROY command to not destroy manually created snapshots used for boot environment.
# beadm destroy test1 Are you sure you want to destroy 'test1'? This action cannot be undone (y/[n]): y Boot environment 'test1' was created from existing snapshot Destroy 'default@test1' snapshot? (y/[n]): y Destroyed successfully
# beadm destroy test1 Are you sure you want to destroy 'test1'? This action cannot be undone (y/[n]): y Boot environment 'test1' was created from existing snapshot Destroy 'default@test1' snapshot? (y/[n]): n Origin snapshot 'default@test1' will be preserved Destroyed successfully