[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [dm-devel] new path revalidation policy

christophe varoqui free fr wrote:
Selon Joe Thornber <thornber redhat com>:

On Sat, Feb 21, 2004 at 11:02:35PM +0100, christophe varoqui wrote:

I've got a problem with the new path revalidation method :
The storage controlers I use for testing offer zero valid paths during a controler switch. I just can't see how such a scenario will handled correctly : how will the kernel mpath code wait for userspace to revalidate a path before sending IO errors ?

how many paths are on each controller ?

2 ports per controler, 2 HBAs ... gives 4 paths per controler, 8 paths total. Only one controler serves each unit at a time : 4 active paths / 4 inactive. For a hundred reasons, unit governance can switch from one controler to its sibbling. When that happens, the DM multipath will have all its paths invalid until userspace is given the opportunity to revalidate some.

Will that case trigger IO errors ? If yes, its a regression from 2.6.2-udm1

When failover occurs and dm-mp goes to your secondary paths, are you saying that they had been marked by DM as invalid? In the old dm-mp I can see they would be marked as failed by the test io, but for the current mp those secondary paths will now still be valid and usable by dm immediately. This means that your test io implementation should probably not fail a path if the path only needs to be initialized. How to coordinate this with the dm-multipath module and still test all paths is I guess what you are also asking somewhere here?

If you are instead saying that you cannot send IO to the secondary paths right away (becuase the device needs some sort of resetup time?) and the IO will be failed by the deivce, then this will be a problem. Even with the last mp there was only one last round of test ios sent, so your device had to be ready within that timeframe to not be offlined.

I think we talked about this offline and I got the impression your situation was the first one, right?

Sorry, I am not sure if this helps,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]