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

umount vs tgt_last_rcvd_update deadlock

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Lustre 2.9.0
    • Labels:
    • Severity:
      3
    • Rank (Obsolete):
      9223372036854775807

      Description

      tgt_client_del() and
      ofd_commitrw_write->tgt_last_rcvd_update
      take transaction and ted->ted_lcd_lock
      in different order:

      thread1:
      osd_trans_start
      tgt_client_data_update
      tgt_client_del <<< mutex_lock(&ted->ted_lcd_lock);
      ofd_obd_disconnect
      class_disconnect_export_list
      class_disconnect_exports
      class_cleanup
      ...
      sys_umount

      thread2:
      __mutex_lock_slowpath
      mutex_lock <<< mutex_lock(&ted->ted_lcd_lock);
      tgt_last_rcvd_update
      tgt_txn_stop_cb
      dt_txn_hook_stop
      osd_trans_stop
      ofd_trans_stop
      ofd_commitrw_write
      ...
      tgt_brw_write

        Attachments

          Activity

            People

            Assignee:
            yong.fan nasf (Inactive)
            Reporter:
            askulysh Andriy Skulysh
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: