BE datasets are retained in order of the last boot, so datasets associated with recently booted BEs would be retained. By default, datasets that have not been booted recently will be removed if the boot pool gets full. To change this behavior, type the following command:
# bootadm boot-pool set eviction_algorithm=none
This will prevent a dataset from being removed from the boot pool. However, if the boot pool gets full, activities that add information to the boot pool will fail. The activities that add information to a boot pool include:
Creating a new BE, which is often done by pkg operations
Activating a BE whose dataset is not in the boot pool
Changing the policy on a BE to noevict