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

ll_migrate() vs truncate deadlock

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Severity:
      3
    • Rank (Obsolete):
      9223372036854775807

      Description

      ll_migrate() takes inode_lock and sends OST_GETATTR
      via ll_data_version(). The server sends BL AST to
      a truncate on the same client to release osc lock
      but it waits for the inode lock.
      It's a wrong locking order beacause all osc operations
      take ldlm locks before inode_lock.

      inode_lock was added to protect from simultaneous migrates
      from 1 client. But lli_lsm_sem is taken for parent,
      so inode_lock isn't needed.

        Attachments

          Activity

            People

            • Assignee:
              askulysh Andriy Skulysh
              Reporter:
              askulysh Andriy Skulysh
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: