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

dead loop in ptlrpc_replay_next()

    XMLWordPrintable

Details

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

    Description

      I see there is a defect about imp_replay_cursor which can lead to ptlrpc_replay_next() run into a dead loop:

      • During replay, imp_replay_cursor moves to an open request A;
      • Client close the file, so that rq_replay of the A open request is cleared;
      • ptlrpc_replay_next() is called to continue replay, it calls ptlrpc_free_committed() to remove committed/closed request from replay/committed list, request A is removed from committed list; (The open request is still being held by the pending close request, so it's not freed);
      • ptlrpc_replay_next() then try to move imp_replay_cursor to next, but the next is itself now, dead loop;

      Attachments

        Activity

          People

            niu Niu Yawei (Inactive)
            niu Niu Yawei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: