• Z
    Revert "scsi: fix iscsi rescan fails to create block" · e6d8002d
    Zhong Jinghua 提交于
    hulk inclusion
    category: bugfix
    bugzilla: 188150, https://gitee.com/openeuler/kernel/issues/I643OL
    
    ----------------------------------------
    
    This reverts commit 3b649a02.
    
    This commit has a soft lock problem:
    
    watchdog: BUG: soft lockup - CPU#22 stuck for 67s! [iscsid:16369]
     Call Trace:
      scsi_remove_target+0x548/0x7b0
      ? sdev_store_delete+0x90/0x90
      ? __mutex_lock_slowpath+0x10/0x10
      ? device_remove_class_symlinks+0x1b0/0x1b0
      __iscsi_unbind_session+0x16b/0x250 [scsi_transport_iscsi]
      iscsi_remove_session+0x1d3/0x2f0 [scsi_transport_iscsi]
      iscsi_session_remove+0x5c/0x80 [libiscsi]
      iscsi_sw_tcp_session_destroy+0xd3/0x160 [iscsi_tcp]
      iscsi_if_rx+0x2369/0x5060 [scsi_transport_iscsi]
    
    The reason is that if other threads hold the reference count of the
    kobject while waiting for the device to be released, it will keep
    waiting in a loop.
    
    Fixes: 3b649a02 ("scsi: fix iscsi rescan fails to create block")
    Signed-off-by: NZhong Jinghua <zhongjinghua@huawei.com>
    Reviewed-by: NHou Tao <houtao1@huawei.com>
    Signed-off-by: NJialin Zhang <zhangjialin11@huawei.com>
    e6d8002d
scsi_sysfs.c 42.9 KB