[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [dm-devel] 2.6.3-udm4



On Friday 27 February 2004 12:58 pm, Mike Christie wrote:
> Joe Thornber wrote:
> > http://people.sistina.com/~thornber/dm/patches/2.6-unstable/2.6.3/2.6.3-u
> >dm4.tar.bz2
> >
> > Note the mpath contructor args have changed again (no priority).
>
> I have been trying the latest dm-mpath patches, but when I fail a path
> (pull a cord or disable a port) dm-mpath oops on queue_work for the
> trigger_event work (if I do a addr2line it says it is in
> __atomic_dec_and_test). The strange thing is if I just comment the
> queue_work line out, in fail_path() it will hit a BUG() in the spin lock
> code that tests the lock magic. I will post the oops when I get the
> output from serial line, but has anyone had success with failover in the
> current dm-mpath? This actually has occured for this release and udm3 w/
> Joe's bio record patches.

Yep, I just hit that as well. Looks to me like the path->pg->m pointer got 
munged. Actually...it looks like the m pointer never got initialized in the 
priority group. Yep....patch 11 from -udm4 removed __insert_priority_group(), 
which is where that pointer got initialized. Here's one possible patch which 
should fix it.

-- 
Kevin Corry
kevcorry us ibm com
http://evms.sourceforge.net/


Need to set the "m" pointer in the priority-group. This was accidentally
removed when __insert_priority_group() was removed.

--- diff/drivers/md/dm-mpath.c	2004-02-27 15:38:32.000000000 -0600
+++ source/drivers/md/dm-mpath.c	2004-02-27 15:38:14.000000000 -0600
@@ -393,6 +393,7 @@
 		ti->error = ESTR("couldn't allocate priority group");
 		return NULL;
 	}
+	pg->m = m;
 
 	pst = dm_get_path_selector(shift(as));
 	if (!pst) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]