Hello,
There's an issue when using multipath (dm) and SDEV_DEL devices:
When a link come down and after the device tmo has been fired, sdev state is set
to SDEV_DEL, but sdev isn't removed from the kernel because references haven't
been released (scsi device has been open by multipath and hasn't been released).
Then, when the link come up, scsi_device_lookup_by_target is called.
sdev can be retrived from the kernel (__scsi_device_lookup_by_target) but
scsi_device_get will return error because the device state is SDEV_DEL.
Doing so:
- scsi_device_lookup_by_target return a NULL sdev
- scsi_probe_and_add_lun will create a new sdev
- scsi_sysfs_add_sdev fail because there an already existing sdev with same
host:target:bus:lun
This issue has been encountered when using Emulex and QLogic drivers with kernel
>=2.6.16 (since sdev ref counting is working nice ??? )
Note: similar issue when using mounted FS with scsi devices (if devices have
SDEV_DEL state)
Any workaround/patch about this issue ?
Best regards
--
Frederic TEMPORELLI
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html