udev-block-add-change: better mount status check

The canonical device name is not necessarily used in /proc/mounts or
/proc/self/mountinfo, see /dev/dm-0 vs. /dev/mapper/dmroot. (And only
checking by major:minor is not possible in the case of btrfs.)

Also fixes another bug where e.g. dm-10 would match when really only
dm-1 was mounted, or when the mountpoint path included the device name,
etc.

Also catches enabled swap.

(cherry picked from commit e7d7111f13)
This commit is contained in:
Rusty Bird 2016-07-15 16:15:41 +00:00 committed by Marek Marczykowski-Górecki
parent c6eb739151
commit 580272ed41
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -20,8 +20,8 @@ xs_remove() {
is_used() {
local sys_devpath=$1
# mounted
if fgrep -q $(basename $sys_devpath) /proc/mounts; then
# mounted; or enabled swap
if lsblk -dnr -o MOUNTPOINT "$DEVNAME" | grep -q .; then
return 0
fi
# part of other device-mapper