Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.11.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      In lnet_destroy_peer_locked() we should add an assertion that the lp_dc_pendq list is empty. Similarly for lnet_destroy_peer_ni_locked() and lpni_peer_nis, lpni_on_remote_peer_ni_list, .... The list heads added and modified by the dynamic discovery series should be audited.

      In lnet_peer_discovery_complete() the list handing appears unsafe. lnet_send() and lnet_finalize() may/will modify msg_list. So list_for_each_entry_safe() must be used. Based on how other code used msg_list, it looks like we need to call list_del() or list_del_init() before calling either function. At the end of lnet_peer_discovery_complete() we should assert that pending_msgs is empty. The dynamic discovery series should be audited for similarly unsafe list handling.

      List heads in the_lnet should be statically initialized.

      Attachments

        Issue Links

          Activity

            [LU-9921] LNet peer discovery list handling
            adilger Andreas Dilger made changes -
            Link New: This issue is duplicated by LU-9928 [ LU-9928 ]
            jgmitter Joseph Gmitter (Inactive) made changes -
            Fix Version/s New: Lustre 2.11.0 [ 13091 ]
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]
            jhammond John Hammond made changes -
            Assignee Original: WC Triage [ wc-triage ] New: Amir Shehata [ ashehata ]
            jhammond John Hammond created issue -

            People

              ashehata Amir Shehata (Inactive)
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: