forked from pool/multipath-tools
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
From 0d18112f4f937626b3c335bf52a6231f5118dd9e Mon Sep 17 00:00:00 2001
|
|
From: Hannes Reinecke <hare@suse.de>
|
|
Date: Thu, 30 Oct 2008 13:46:15 +0100
|
|
Subject: [PATCH] Do not check for valid mp context in get_state()
|
|
|
|
When called from 'multipath -ll' get_state() does not
|
|
have a valid context. But the checkers should run nevertheless
|
|
as we need the state here but are not interested in any long-term
|
|
issues.
|
|
|
|
References: 433659
|
|
|
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
---
|
|
libmultipath/discovery.c | 5 ++---
|
|
1 files changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
|
|
index a5ae8aa..9929e19 100644
|
|
--- a/libmultipath/discovery.c
|
|
+++ b/libmultipath/discovery.c
|
|
@@ -659,15 +659,14 @@ get_state (struct path * pp)
|
|
{
|
|
struct checker * c = &pp->checker;
|
|
|
|
- if (!pp->mpp)
|
|
- return 0;
|
|
+ condlog(3, "%s: get_state", pp->dev);
|
|
|
|
if (!checker_selected(c)) {
|
|
select_checker(pp);
|
|
if (!checker_selected(c))
|
|
return 1;
|
|
checker_set_fd(c, pp->fd);
|
|
- if (checker_init(c, &pp->mpp->mpcontext))
|
|
+ if (checker_init(c, pp->mpp?&pp->mpp->mpcontext:NULL))
|
|
return 1;
|
|
}
|
|
pp->state = checker_check(c);
|
|
--
|
|
1.5.4.5
|
|
|