Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-10176 Data-on-MDT phase II
  3. LU-11121

DoM: mdt take discard lock at cleanup stage

    XMLWordPrintable

    Details

    • Type: Technical task
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Lustre 2.12.0
    • Labels:
    • Rank (Obsolete):
      9223372036854775807

      Description

      Call mdt_dom_check_and_discard() after mdt_object_unlock() to avoid possible deadlock if some third lock is conflicting with both like in the scenario below:

      • thread1: mdt_object_lock() with some bits
      • thread2: take conflicting lock and wait
      • thread1: mdt_dom_check_and_discard() with bits conflicting with thread2 causes deadlock.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tappro Mikhail Pershin
              Reporter:
              jgmitter Joseph Gmitter (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: