[dm-devel] rdac priority checker changing priorities

Hannes Reinecke hare at suse.de
Mon May 4 10:43:50 UTC 2009


Hi Chandra,

Chandra Seetharaman wrote:
> Hannes,
> 
> I think we need to revisit the priority value we provide for preferred
> path(4) relative to active path (2) and non-preferred(1).
> 
> Consider the following scenario:
> 
> Access to a lun thru 2 preferred and 2 non-preferred path. Lets call
> path group with preferred paths as pg1 and with non-preferred paths as
> pg2. 
> 
> Initially pg1 has priority of 8 and pg2 has priority of 2. pg1 is chosen
> and I/O goes thru pg1, all good.
> 
> Both the paths in pg1 fails, pg2 has been made the active path group and
> I/O is sent thru that path and since it became "active", its priority
> raises to 6 ( 2 path times (active + non-preferred)). 
> 
> When one of the paths in pg1 comes back, one would expect the failback
> to happen. It doesn't happen as pg1's priority (4) is smaller than that
> of pg2 (6). Which is not correct.
> 
Is this really a valid case?
This means we'll have a setup like this:

rdac
 pg1
  sda failed
  sdb failed
 pg2
  sdc active
  sdd active

Correct?
So, given your assumptions, the proposed scenario would be represented
like this:

rdac
 pg1
  sda active
  sdb failed
 pg2
  sdc active
  sdd active

So it is really a good idea to switch paths in this case? The 'sdb'
path would not be reachable here, so any path switch command wouldn't
have been received, either. I'm not sure _what_ is going to happen
when we switch paths now and sdb comes back later; but most likely
the entire setup will be messed up then:
  sda (pref & owned) 6
  sdb                0
  sdc (sec)          1
  sdd (sec & owned)  3
and we'll be getting the path layout thoroughly jumbled then.
So I don't really like this idea. We should only be switching
paths when _all_ paths of a path group become available again.
Providing not all paths have failed in the active group, of course.
Then we should be switching paths regardless.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare at suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)




More information about the dm-devel mailing list