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

Wrong transaction order in mdd_migrate_entries()

    XMLWordPrintable

Details

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

    Description

      Most mdd functions starts transaction and than takes mdd_write_lock

      but mdd_migrate_entries() does it in reverse order thus it leads to a deadlock

      crash> bt 12342 
      PID: 12342  TASK: ffff88009b538000  CPU: 1   COMMAND: "mdt00_003" 
       #0 [ffff88009cd6f6d8] __schedule at ffffffff816b3de4 
       #1 [ffff88009cd6f768] schedule at ffffffff816b4409 
       #2 [ffff88009cd6f778] wait_transaction_locked at ffffffffc00bd085 [jbd2] 
       #3 [ffff88009cd6f7d0] add_transaction_credits at ffffffffc00bd368 [jbd2] 
       #4 [ffff88009cd6f830] start_this_handle at ffffffffc00bd5e1 [jbd2] 
       #5 [ffff88009cd6f8c8] jbd2__journal_start at ffffffffc00bdae3 [jbd2] 
       #6 [ffff88009cd6f910] __ldiskfs_journal_start_sb at ffffffffc04f5179 [ldiskfs] 
       #7 [ffff88009cd6f950] osd_trans_start at ffffffffc0abd24e [osd_ldiskfs] 
       #8 [ffff88009cd6f988] top_trans_start at ffffffffc0900fed [ptlrpc] 
       #9 [ffff88009cd6f9e8] lod_trans_start at ffffffffc0d653f1 [lod] 
      #10 [ffff88009cd6f9f8] mdd_trans_start at ffffffffc0e1488a [mdd] 
      #11 [ffff88009cd6fa08] mdd_migrate_entries at ffffffffc0dfc846 [mdd] 
      #12 [ffff88009cd6faa8] mdd_migrate at ffffffffc0dfd1af [mdd] 
      #13 [ffff88009cd6fb18] mdt_reint_migrate_internal at ffffffffc0c9802e [mdt] 
      #14 [ffff88009cd6fbc8] mdt_reint_rename_or_migrate at ffffffffc0c98515 [mdt] 
      #15 [ffff88009cd6fc58] mdt_reint_migrate at ffffffffc0c98b20 [mdt] 
      #16 [ffff88009cd6fc68] mdt_reint_rec at ffffffffc0c9cc53 [mdt] 
      #17 [ffff88009cd6fc90] mdt_reint_internal at ffffffffc0c7c1bb [mdt] 
      #18 [ffff88009cd6fcc8] mdt_reint at ffffffffc0c87187 [mdt] 
      #19 [ffff88009cd6fcf8] tgt_request_handle at ffffffffc08ee6ba [ptlrpc] 
      #20 [ffff88009cd6fd40] ptlrpc_server_handle_request at ffffffffc0893d43 [ptlrpc] 
      #21 [ffff88009cd6fde0] ptlrpc_main at ffffffffc08974f2 [ptlrpc] 
      #22 [ffff88009cd6fec8] kthread at ffffffff810b4031 
      #23 [ffff88009cd6ff50] ret_from_fork at ffffffff816c1577 
      crash> bt 13673 
      PID: 13673  TASK: ffff88012c6c8000  CPU: 1   COMMAND: "mdt00_027" 
       #0 [ffff88012c9e39a8] __schedule at ffffffff816b3de4 
       #1 [ffff88012c9e3a30] schedule at ffffffff816b4409 
       #2 [ffff88012c9e3a40] rwsem_down_write_failed at ffffffff816b5cf5 
       #3 [ffff88012c9e3ad8] call_rwsem_down_write_failed at ffffffff81338247 
       #4 [ffff88012c9e3b20] down_write at ffffffff816b356d 
       #5 [ffff88012c9e3b38] osd_write_lock at ffffffffc0ab1b0c [osd_ldiskfs] 
       #6 [ffff88012c9e3b60] lod_write_lock at ffffffffc0d7e33b [lod] 
       #7 [ffff88012c9e3b70] mdd_write_lock at ffffffffc0dff7cb [mdd] 
       #8 [ffff88012c9e3b80] mdd_xattr_set at ffffffffc0e0cdb8 [mdd] 
       #9 [ffff88012c9e3be8] mdt_reint_setxattr at ffffffffc0c9e64b [mdt] 
      #10 [ffff88012c9e3c68] mdt_reint_rec at ffffffffc0c9cc53 [mdt] 
      #11 [ffff88012c9e3c90] mdt_reint_internal at ffffffffc0c7c1bb [mdt] 
      #12 [ffff88012c9e3cc8] mdt_reint at ffffffffc0c87187 [mdt] 
      #13 [ffff88012c9e3cf8] tgt_request_handle at ffffffffc08ee6ba [ptlrpc] 
      #14 [ffff88012c9e3d40] ptlrpc_server_handle_request at ffffffffc0893d43 [ptlrpc] 
      #15 [ffff88012c9e3de0] ptlrpc_main at ffffffffc08974f2 [ptlrpc] 
      #16 [ffff88012c9e3ec8] kthread at ffffffff810b4031 
      #17 [ffff88012c9e3f50] ret_from_fork at ffffffff816c1577
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: