[Bug 1020436] Re: Cannot read superblock after FC multipath failover

Steve Fisher stefan.nicolaivic at gmail.com
Fri Jul 27 07:16:44 UTC 2012


The root cause was in fact the lvm.conf filter, but explicitly not for
the reason you'd think.

The issue is that if I added "a|.*|" into regex array, it was ignoring
my 'sd[b-z]', loop and ram exclusions, both singly and in combination.

It seems to be an obscure issue with the use of square brackets inside
the regex in certain ways.

Eg if I use the line:

filter = [ "a|.*|",  "r|.*|" ]  
or 
filter = [ "a|.*|",  "r|loop|" ]

Then this filters _everything_ in the first example, or just loop
devices respectively... just as you would expect.

However as soon as I use something like:

filter = [ "a|.*|", "r|loop[0-9]|" ]

Then I don't get any filtering at all... except that defining _only_ the
removal filters, per:

filter = [ "r|loop[0-9]+|" ]

.. and other filters of that ilk DO work as expected -- so long as I
remove the "accept-all" regex.

I'm not sure if this parsing behaviour is  intended -- it could be to do
with the way the array is encapsulated.

Even this line works as expected:

filter = [ "a|.*|",  "r|sd.[b-z]|" ]

-- Possibly since placing the the match-any-single-character (".") in
there changes the behaviour.

The filter currently in use works as expected and looks like:

    filter = [ "r|sd[b-z]|", "r|ram[0-9]+|", "r|loop[0-9]+|", ]

After update-initramfs and reboot, I can successfully disable paths, and
the failover works perfectly.

Your insight is much appreciated, I would never have expected
/dev/mapper/mpath0 to become aliased to a single disk target.

I suspect that what has actually happened is that things were working
perfectly for a time, but then broke upon a reboot of the server.

Ie, due to the lack of filtering,  LVM jumbled the detected volumes at
boot time (due to the way /dev is traversed) such that mpath0 was
actually pointing at a fixed location eg /dev/sdb rather than being
multipathed as expected.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to multipath-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1020436

Title:
  Cannot read superblock after FC multipath failover

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1020436/+subscriptions



More information about the Ubuntu-server-bugs mailing list