Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
None
-
16381
Description
The design intent of LNet APIs is that they clean up after themselves if they fail, to avoid having the caller invoke clean up methods.
Need to ensure that lnet_startup_lndnis does the same. Currently it's up to the caller to to cleanup if lnet_startup_lndnis() fails.
With the DLC changes, the logic of the code was modified to handle loading networks dynamically. Part of that change stops lnet_startup_lndnis() from shutting down Nets that were brought up before a failure occurred. The reason for that is we didn't want to clean up all networks that have been brought up already if a network which is being dynamically brought up fails.
However, according to Isaac the underlying design intent of LNet APIs is that they do proper cleanup in case of failure, so that callers don't have to perform this clean up, thus repeating the clean up code multiple times in the callers.
This design intent needs to be restored.