With 2.6.15-rc1-git6 (and later), the qla2xxx driver seems to have a serialization issue which can cause rports to be inappropriately deleted. When another hba appears on the fabric, the driver calls qla2x00_mark_all_devices_lost() which schedules an fc_remote_port_delete() for all connected rports. The driver then appears to rediscover targets and re-add them. Meanwhile, the scheduled work comes in and deletes the targets. If the scheduled work runs after discovery phase, targets which should be present are missing from the config. Attached is an annotated / printk'd dmesg log attempting to show what is happening. Search for "HERE". Mike
Attachment:
dmesg-5.gz
Description: application/gunzip