Re: [RFC] Multi-path IO in 2.5/2.6 ?
From: Patrick Mansfield <hidden>
Date: 2002-09-10 15:59:30
Also in:
lkml
On Tue, Sep 10, 2002 at 03:02:01PM +0200, Lars Marowsky-Bree wrote:
On 2002-09-09T11:40:26,
With multipathing, you want the lower level to hand you the error _immediately_ if there is some way it could be related to a path failure and no automatic retries should take place - so you can immediately mark the path as faulty and go to another. However, on a "access beyond end of device" or a clear read error, failing a path is a rather stupid idea, but instead the error should go up immediately. This will need to be sorted regardless of the layer it is implemented in. How far has this been already addressed in 2.5 ?
The current scsi multi-path code handles the above cases. There is a scsi_path_decide_disposition() that fails paths independent of the result of the IO. It is similiar to the current scsi_decide_disposition, except it also fails the path. So for a check condition of media error, the IO might be marked as SUCCESS (meaning completed with an error), but the path would not be modified (there are more details than this).
For user-space reprobing of failed paths, it may be vital to expose the physical paths too. Then "reprobing" could be as simple as dd if=/dev/physical/path of=/dev/null count=1 && enable_path_again
Yes, that is a good idea, I was thinking that this should be done via sg, and modify sg to allow path selection - so no matter what, sg could be used to probe a path. I have no plans to expose a user level device for each path, but a device model "file" could be exposed for the state of each path, and its state controlled via driverfs.
I dislike reprobing in kernel space, in particular using live requests as
the LVM1 patch by IBM does it.
Sincerely,
Lars Marowsky-Brée [off-list ref]-- Patrick Mansfield - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html