From: Chandra Seetharaman 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 Signed-off-by: Alasdair G Kergon --- drivers/md/dm-mpath.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: linux-2.6.28-rc4/drivers/md/dm-mpath.c =================================================================== --- linux-2.6.28-rc4.orig/drivers/md/dm-mpath.c 2008-11-13 23:18:40.000000000 +0000 +++ linux-2.6.28-rc4/drivers/md/dm-mpath.c 2008-11-13 23:21:52.000000000 +0000 @@ -441,13 +441,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;