Messages in this thread Patch in this message | | | Date | Tue, 10 Feb 2009 16:25:48 -0800 | From | Greg KH <> | Subject | [patch 45/56] dm mpath: avoid attempting to activate null path |
| |
2.6.27-stable review patch. If anyone has any objections, please let us know. ------------------
From: Chandra Seetharaman <sekharan@us.ibm.com>
commit b81aa1c79201cb424114fd198607951900babe18 upstream.
Path activation code is called even when the pgpath is NULL. This could lead to a panic in activate_path(). Such a panic is seen in -rt kernel.
This problem has been there before the pg_init() was moved to a workqueue.
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/md/dm-mpath.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c @@ -427,13 +427,13 @@ static void process_queued_ios(struct wo __choose_pgpath(m); pgpath = m->current_pgpath; - m->pgpath_to_activate = m->current_pgpath; if ((pgpath && !m->queue_io) || (!pgpath && !m->queue_if_no_path)) must_queue = 0; - if (m->pg_init_required && !m->pg_init_in_progress) { + if (m->pg_init_required && !m->pg_init_in_progress && pgpath) { + m->pgpath_to_activate = pgpath; m->pg_init_count++; m->pg_init_required = 0; m->pg_init_in_progress = 1;
| |