Details
-
Bug
-
Resolution: Fixed
-
Major
-
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