Michael Reed wrote:
Even if the rport is removed and the devices under it are removed, md
can still have a reference to the device so the memory does not
disappear on it (MD still thinks the device is there but scsi says it is
gone basically). Because of this, when you plug in the cable again and a
new rport is created sd.c can end up allocating another sdX value.
So, how about a callback to the driver, md, with the reference so that it
can release said reference?
Mike C summarized the issue well. Callback - ugh. The real wish-list fix is to
make the midlayer reuse the old structures if the device comes back. Makes my
eyes bug out though to figure out this could be done. This would also solve
the race we saw in sysfs for recreation of the node while it was still outstanding
due to a reference (name collision).
-- james
-
: 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