Eric.Ayers@intec-telecom-systems.com said:
> Does this package also tell the kernel to "re-establish" a reservation
> for all devices after a bus reset, or at least inform a user level
> program? Finding out when there has been a bus reset has been a
> stumbling block for me.
alan@lxorguk.ukuu.org.uk said:
> You cannot rely on a bus reset. Imagine hot swap disks on an FC
> fabric. I suspect the controller itself needs to call back for
> problem events
Essentially, there are many conditions which cause a quiet loss of a SCSI-2
reservation. Even in parallel SCSI: Reservations can be silently lost because
of LUN reset, device reset or even simple powering off the device.
The way we maintain reservations for LifeKeeper is to have a user level daemon
ping the device with a reservation command every few minutes. If you get a
RESERVATION_CONFLICT return you know that something else stole your
reservation, otherwise you maintain it. There is a window in this scheme
where the device may be accessible by other initiators but that's the price
you pay for using SCSI-2 reservations instead of the more cluster friendly
SCSI-3 ones. In a kernel scheme, you may get early notification of
reservation loss by putting a hook into the processing of
CHECK_CONDITION/UNIT_ATTENTION, but it won't close the window entirely.
James
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:11 EST