I need a code review for 3776. http://defect.opensolaris.org/bz/show_bug.cgi?id=3776
The problem was very much like 3772 in that when we found that a zone didn't have an active zone root dataset we would set the error value returned from find_active_zone_root() and if it wasn't 0 we would continue back to the top of the for loop. However the error value was never cleared so if this was that last zone to be processed we would erroneously return the error for the previous find_active_zone_root() call. What should have been happening is if there was no active root dataset for the zone then we skip it and try the next zone without setting the error value returned from find_active_zone_root. To fix this I moved the call to find_active_zone_root into it's own if clause and removed the code that set it's return value. The following webrev includes the fix for this bug as well as the changes made to address general code review comments. The actual change to fix 3776 is on lines 938 through 944 of be_activate.c. http://cr.opensolaris.org/~evanl/webrev.3776/ Thanks! -evan
