6646 libbe be_do_copy_grub_cap() is broken when pool root dataset is not mounted

Review Request #155 - Created Feb. 11, 2016 and submitted

Information
Toomas Soome
illumos-gate
Reviewers
general

6646 libbe be_do_copy_grub_cap() is broken when pool root dataset is not mounted

the dataset handle management is messed up, to clean up, I did move BE dataset setup to front, as we can release all BE dataset resources once cap_file is composed; then processing pool root dataset. also cleared unneeded variables.

The bug was appearing in case the pool was imported, but pool root dataset is not mounted; tested with bootadm install-bootloader -P poolname command.

unpatched libbe will cause bootadm to crash with SIGSEGV after capability file copy, on pool root dataset unmount.

with fixed libbe the bootadm is working as expected, mounts pool and BE datasets, installs bootblocks and for grub, will copy capability. once done, datasets are unmounted if they were not mounted initially.

Igor Kozhukhov
Rich Lowe
Toomas Soome
Review request changed

Status: Closed (submitted)

Loading...