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

ll_migrate() vs truncate deadlock

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 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

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

            Dates

              Created:
              Updated: