1
0
multipath-tools/multipath-tools-dont-check-valid-context-in-get_state

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