Udev rule causes automatic incorrect unmount of dm device
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Fedora) |
Fix Released
|
High
|
|||
systemd (Ubuntu) |
Fix Released
|
Medium
|
Martin Pitt |
Bug Description
1) The release of Ubuntu you are using, via 'lsb_release -rd'
Description: Ubuntu Xenial Xerus (development b ranch)
Release: 16.04
2) The version of the package you are using, via 'apt-cache policy pkgname'
systemd:
Installed: 229-3ubuntu1
Candidate: 229-3ubuntu1
3) What you expected to happen
I am testing our E-Series Netapp storage array and the ability of the server to failover IO to the secondary path. I pull a cable and allow DM-MP to fail the path and route IO down the other path. I then replug the cable and repeat for the other path.
I expect that the failover to occur and for the mount points to stay mounted through the operation.
4) What happened instead
I see in the system log that during the test systemd tries to perform an unmount operation on the mountpoint of the dm-device(s) that have lost an underlying path. The unmount fails, I assume because there is active IO at the time. However it should not be attempted in the first place.
I believe this is related to the bug that we discovered in RHEL and SLES that can be seen in this redhat commit:
https:/
Our testing of RHEL seems to indicate that this patch resolved our problem.
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: systemd 229-3ubuntu1
ProcVersionSign
Uname: Linux 4.4.0-16-generic x86_64
ApportVersion: 2.20-0ubuntu3
Architecture: amd64
Date: Mon Apr 4 13:56:35 2016
MachineType: Dell Inc. PowerEdge R720
ProcEnviron:
TERM=xterm
SHELL=/bin/bash
PATH=(custom, no user)
LANG=en_US
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: systemd
SystemdDelta:
[EXTENDED] /lib/systemd/
[EXTENDED] /lib/systemd/
2 overridden configuration files found.
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/22/2016
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 2.5.4
dmi.board.name: 0VWT90
dmi.board.vendor: Dell Inc.
dmi.board.version: A02
dmi.chassis.type: 23
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.name: PowerEdge R720
dmi.sys.vendor: Dell Inc.
Changed in systemd (Fedora): | |
importance: | Unknown → High |
status: | Unknown → Fix Released |
This rule may be problematic:
SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_ UDEV_DISABLE_ OTHER_RULES_ FLAG}== "1", ENV{SYSTEMD_ READY}= "0"
The "SYSTEMD_READY=0" will cause automatic unmount of mountpoint that is on top of such DM device. It's even more problematic if this is used with multipath which sets DM_UDEV_ DISABLE_ OTHER_RULES_ FLAG in case we have a CHANGE event that comes after DM multipath device reload when one of the paths is down or up (see also bug #1310022).