From e17a931c49558b1d7337e5749aed12cddffe6ef0 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 13 Feb 2022 21:30:13 +0000 Subject: [PATCH] uvol: call umount instead of using 'block umount' Calling 'block umount' results in *all* devices listed in /etc/config/fstab being unmounted. Just call 'umount /dev/$devname' directly instead as that has the desired effect. Signed-off-by: Daniel Golle --- utils/uvol/files/lvm.sh | 2 +- utils/uvol/files/ubi.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/uvol/files/lvm.sh b/utils/uvol/files/lvm.sh index 0639c10f1b..c7e93f13f2 100644 --- a/utils/uvol/files/lvm.sh +++ b/utils/uvol/files/lvm.sh @@ -202,7 +202,7 @@ disactivatevol() { *) [ "$lv_active" = "active" ] || return 0 devname="$(getdev "$1")" - [ "$devname" ] && /sbin/block umount "$devname" + [ "$devname" ] && umount "/dev/$devname" lvm_cmd lvchange -a n "$lv_full_name" lvm_cmd lvchange -k y "$lv_full_name" || return $? return 0 diff --git a/utils/uvol/files/ubi.sh b/utils/uvol/files/ubi.sh index d7593606fc..7637fba682 100644 --- a/utils/uvol/files/ubi.sh +++ b/utils/uvol/files/ubi.sh @@ -168,12 +168,12 @@ disactivatevol() { vol_is_mode "$voldev" wo && return 22 vol_is_mode "$voldev" wp && return 16 if vol_is_mode "$voldev" ro; then - /sbin/block umount "ubiblock${voldev:3}" + grep -q "^/dev/ubiblock${voldev:3}" /proc/self/mounts && umount "/dev/ubiblock${voldev:3}" ubiblock --remove "/dev/$voldev" ubirename "/dev/$ubidev" "uvol-ro-$1" "uvol-rd-$1" || return $? return 0 elif vol_is_mode "$voldev" rw; then - /sbin/block umount "$voldev" + umount "/dev/$voldev" ubirename "/dev/$ubidev" "uvol-rw-$1" "uvol-wd-$1" || return $? block_hotplug remove "$voldev" return 0