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

truncate deadlock with DoM files

    XMLWordPrintable

Details

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

    Description

      PID: 8441   TASK: ffff88aa0f7da080  CPU: 0   COMMAND: "truncate"
       #0 [ffff88aa0a52fb38] __schedule at ffffffff8db67747
       #1 [ffff88aa0a52fbc8] schedule_preempt_disabled at ffffffff8db68b69
       #2 [ffff88aa0a52fbd8] __mutex_lock_slowpath at ffffffff8db66ab7
       #3 [ffff88aa0a52fc38] mutex_lock at ffffffff8db65e9f
       #4 [ffff88aa0a52fc50] vvp_io_setattr_start at ffffffffc0cd14f6 [lustre]
       #5 [ffff88aa0a52fc88] cl_io_start at ffffffffc089f188 [obdclass]
       #6 [ffff88aa0a52fcb0] cl_io_loop at ffffffffc08a146c [obdclass]
       #7 [ffff88aa0a52fce0] cl_setattr_ost at ffffffffc0ccc38f [lustre]
       #8 [ffff88aa0a52fd30] ll_setattr_raw at ffffffffc0ca76e8 [lustre]
       #9 [ffff88aa0a52fdf0] ll_setattr at ffffffffc0ca7ae3 [lustre]
      #10 [ffff88aa0a52fe00] notify_change at ffffffff8d660524
      #11 [ffff88aa0a52fe48] do_truncate at ffffffff8d63f335
      #12 [ffff88aa0a52fec0] vfs_truncate at ffffffff8d63f50c
      #13 [ffff88aa0a52fef8] do_sys_truncate at ffffffff8d63f5fc
      
      PID: 8525   TASK: ffff88aa0bed5140  CPU: 0   COMMAND: "mv"
       #0 [ffff88aad1b47848] __schedule at ffffffff8db67747
       #1 [ffff88aad1b478d8] schedule at ffffffff8db67c49
       #2 [ffff88aad1b478e8] schedule_timeout at ffffffff8db65668
       #3 [ffff88aad1b47998] ptlrpc_set_wait at ffffffffc0a21740 [ptlrpc]
       #4 [ffff88aad1b47a40] ptlrpc_queue_wait at ffffffffc0a21ad3 [ptlrpc]
       #5 [ffff88aad1b47a60] mdc_reint at ffffffffc0bdb5d2 [mdc]
       #6 [ffff88aad1b47a80] mdc_rename at ffffffffc0bdd2fd [mdc]
       #7 [ffff88aad1b47b30] lmv_rename at ffffffffc0b4e8bc [lmv]
       #8 [ffff88aad1b47c10] ll_rename at ffffffffc0cb8660 [lustre]
       #9 [ffff88aad1b47cc8] vfs_rename at ffffffff8d64f4bd
      

      Truncate unlocks inode mutex in ll_setattr_raw() and tries to lock it again vvp_io_setattr_start() after ldlm lock, while rename takes ldlm lock with locked inode mutex.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: