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

Race - connect vs resend

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.7.0
    • Lustre 2.5.1, Lustre 2.7.0
    • 3
    • 15386

    Description

      Buggy code at ptlrpc_connect_interpret()
      finish:
      rc = ptlrpc_import_recovery_state_machine(imp);
      ...
      Set import connection flags
      When import has FULL state ptlrpc_import_recovery_state_machine() wakeup all waiters on import and all delayed request, which was resented. And it could happened that request was send without updated flags and AT is disabled. After that, server could drop resend request if server already processing it and send early reply for client, base on the first incarnation of the request. Client got early reply for request without AT and became confused, touch the buffer outside the reply and fail with EPROTO.

      Attachments

        Issue Links

          Activity

            People

              liwei Li Wei (Inactive)
              aboyko Alexander Boyko
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: