Age | Commit message (Collapse) | Author | Files | Lines |
|
The 'multibus' pgpolicy function currently always adds a pathgroup,
even when no paths are present. This confuses setup_map() which
doesn't expect this behaviour.
References: 476330
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
One wouldn't believe how many of them are in the code ...
|
|
There is no reason why multipath should handle the removal
of the last path from a multipath map different than any other
path removal. In fact, in doing so we'll shed the stale reference
to the dead device in the map and allow for a clean reconnection.
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
just like prioritizers.
A lot of files shuffling too.
|
|
The context handling and the layering were poor, so rewrite.
The users now need to :
- alloc a "struct checker"
- select a checker by name : checker_lookup()
- init own checker instance : checker_get()
- set the path file descriptor to check : checker_set_fd()
- use : checker_check()
- release : checker_put()
Checkers now are asked to provide 3 functions :
- foo_init : alloc and initialize the checker context
- foo_free : free the context
- foo : the checking function proper
These 3 are registered in a static checkers array, along with the checker
name. Lookups are based on checker name.
The users are all updated :
- checker_get is folded into path (re)discovery
- checker_put is folded into path free/orphan
Additional gains :
- directio is updated to use a context to avoid computations upon each
check
- checkers code is leaner
Please test and report.
|
|
|
|
I tried to get it right from the first shot.
But experience showed it never works that way.
So please send corrections for inaccuracies and forgotten credits.
Regards,
cvaroqui
|
|
|
|
.
|
|
Release 0.4.5-pre2
|