Browse Source

uvol: fix emmitting ubus event when removing UBI volume

In case a volume which is down is removed, no ubus event needs to be
fired. Don't try.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
lilik-openwrt-22.03
Daniel Golle 4 years ago
parent
commit
816c41b6fc
No known key found for this signature in database GPG Key ID: 5A8F39C31C3217CA
2 changed files with 4 additions and 3 deletions
  1. +3
    -3
      utils/uvol/files/ubi.sh
  2. +1
    -0
      utils/uvol/files/uvol

+ 3
- 3
utils/uvol/files/ubi.sh View File

@ -119,14 +119,14 @@ removevol() {
local voldev=$(getdev "$@")
local evdata
[ "$voldev" ] || return 2
local volnum=${voldev#${ubidev}_}
if vol_is_mode $voldev rw ; then
evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/$voldev\"}"
elif vol_is_mode $voldev ro ; then
elif vol_is_mode $voldev ro && [ -e "/dev/ubiblock${voldev:3}" ]; then
evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
fi
local volnum=${voldev#${ubidev}_}
ubirmvol /dev/$ubidev -n $volnum || return $?
ubus send block.volume "$evdata"
[ "$evdata" ] && ubus send block.volume "$evdata"
}
activatevol() {


+ 1
- 0
utils/uvol/files/uvol View File

@ -3,6 +3,7 @@
# uvol prototype
# future development roadmap (aka. to-do):
# * re-implement in C (use libubox, execve lvm/ubi*)
# * hash to validate volume while writing
# * add atomic batch processing for use by container/package manager
if [ -z "$1" ]; then cat <<EOF


Loading…
Cancel
Save