When a real hardware IO error occurs, the path checker will return
PATH_UP, causing the dm state from the kernel never to be updated.
Signed-off-by: Hannes Reinecke <hare@suse.de>
enable_group(pp);
}
else if (newstate == PATH_UP || newstate == PATH_GHOST) {
- LOG_MSG(4, checker_message(&pp->checker));
- if (pp->checkint != conf->max_checkint) {
+ if (pp->dmstate == PSTATE_FAILED ||
+ pp->dmstate == PSTATE_UNDEF) {
+ /* Clear IO errors */
+ reinstate_path(pp, 0);
+ } else {
+ LOG_MSG(4, checker_message(&pp->checker));
/*
* double the next check delay.
* max at conf->max_checkint