[Bug 1811795] Re: Mdadm: external metadata arrays and containers are removed incorrectly
Christian Ehrhardt
1811795 at bugs.launchpad.net
Mon May 13 10:18:26 UTC 2019
Thanks Mariusz!
Since this verification needs special HW which at least I currently have none of - do you see a chance to also do the verification for cosmic-proposed? Lacking that it can't be really released for Bionic as it would then become an upgrade-regression.
** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mdadm in Ubuntu.
https://bugs.launchpad.net/bugs/1811795
Title:
Mdadm: external metadata arrays and containers are removed incorrectly
Status in mdadm package in Ubuntu:
Fix Released
Status in mdadm source package in Bionic:
Fix Committed
Status in mdadm source package in Cosmic:
Fix Committed
Bug description:
[Impact]
* The response to device fails so far was to remove underlying
containers. That failed if the device itself was not stopped
before doing so causing issues.
* Fix by backporting upstream fix
[Test Case]
* This needs a Intel(R) Matrix Storage Hardware which limits the
systems this can be tested.
1. Create IMSM Container:
mdadm -CR imsm0 -e imsm -n 2 /dev/sd[bc]
2. Create IMSM level 0 Array:
mdadm -CR vol0 -l 0 -n 2 /dev/sd[bc]
3. Wait for resync to complete
mdadm --wait /dev/md/vol0
4. Read /proc/mdstat and check /dev/md/ directory
cat /proc/mdstat
ls /dev/md/
5. Fail one disk incrementaly (simulate device disappearing
from system)
mdadm -If sdc
6. Check mdstat file and /dev/md/
cat /proc/mdstat
ls /dev/md/
Result:
After disk fail [5] raid 0 array should disappear from mdstat,
link /dev/md/imsm0 should exist.
* these should allow someone who is not familiar with the affected
package to reproduce the bug and verify that the updated package fixes
the problem.
[Regression Potential]
* The patch changes the behavior on removing devices. So in that use-case
lies the potential to regress somebody.
It adds stopping the device before removing the containers associated
to it (that is the fix). OTOH if there are cases where the kernel
signals a device fail it would formerly not have removed it (the bug)
but there are (very low) chances that somebody relies on that behavior.
Since this avoids I/O errors on partially removed device elements I'd
expect taking the change makes it better overall.
[Other Info]
* n/a
---
Steps to reproduce:
1. Create IMSM container on 2 SATA disks.
2. Create R0 IMSM volume
3. Wait for resync to complete.
4. Fail one of disks
Expected result:
R0 Array should disappear form /proc/mdstat.
Actual result:
R0 array is visible in mdstat, link to container in /dev/md/ is removed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1811795/+subscriptions
More information about the foundations-bugs
mailing list