Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-5850

DLC: lnet_startup_lndnis should clean up after itself

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.7.0
    • 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.

      Attachments

        Issue Links

          Activity

            [LU-5850] DLC: lnet_startup_lndnis should clean up after itself
            jlevi Jodi Levi (Inactive) made changes -
            Fix Version/s Original: Lustre 2.8.0 [ 11113 ]
            ashehata Amir Shehata (Inactive) made changes -
            Fix Version/s New: Lustre 2.7.0 [ 10631 ]
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
            ashehata Amir Shehata (Inactive) made changes -
            Status Original: Open [ 1 ] New: In Progress [ 3 ]
            ashehata Amir Shehata (Inactive) made changes -
            Link New: This issue is related to LU-5734 [ LU-5734 ]
            jlevi Jodi Levi (Inactive) made changes -
            Fix Version/s New: Lustre 2.8.0 [ 11113 ]
            Fix Version/s Original: Lustre 2.7.0 [ 10631 ]
            jlevi Jodi Levi (Inactive) made changes -
            Link New: This issue is related to LU-2456 [ LU-2456 ]
            ashehata Amir Shehata (Inactive) made changes -
            Description Original: 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.
            New: 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.
            jlevi Jodi Levi (Inactive) made changes -
            Fix Version/s New: Lustre 2.7.0 [ 10631 ]
            ashehata Amir Shehata (Inactive) created issue -

            People

              ashehata Amir Shehata (Inactive)
              ashehata Amir Shehata (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: