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

umount vs tgt_last_rcvd_update deadlock

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.9.0
    • None
    • 3
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: