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

RE: [dm-devel] patch to discovery.c to still get pathpriorityforpaths with path state of PATH_DOWN



On Wednesday, November 15, 2006 1:49 AM, Dave Wysochanski wrote

> One other thought I had was the notion of a "priority valid" 
> flag (or a
> special priority value) in the path for the case of 
> group_by_prio.  Set
> it to invalid in alloc_path(), then just don't add the path to the
> multipath struct in coalesce_paths() if the priority value 
> was invalid.
> Then over in checkerloop(), add the path to the multipath map when you
> get a valid priority.
> 
> It is more complicated than that I'm sure (e.g. checkerloop() assumes
> pp->mpp is non-null in places, etc) but seemed like a half-decent
> approach to at least consider.
> 
> This approach doesn't take into consideration the general case of a
> change in path priority though.

I very much like the first part of your "priority valid" idea
mentioned above.

I've enclosed a patch for the first part of your idea.  The patch
should address the concern you had about recalculating priority
for a path when its path state changes from not PATH_DOWN to
PATH_DOWN.  It now only retrieves the priority for PATH_DOWN
paths if the path's priority has never been successfully
retrieved before.

I've punted for now on the reloading of the map if a path priority
change has caused a path group membership change.  This is kind of
complex, has lots of down sides, and there doesn't seem to be a
need for it as of now.

Attachment: structs.h.diff
Description: structs.h.diff

Attachment: structs.c.diff
Description: structs.c.diff

Attachment: discovery.c.diff
Description: discovery.c.diff


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