uvol: general clean up
authorDaniel Golle <redacted>
Fri, 16 Jul 2021 21:01:26 +0000 (22:01 +0100)
committerDaniel Golle <redacted>
Fri, 16 Jul 2021 21:48:38 +0000 (22:48 +0100)
 * make sure new volumes are in state 'down' until explicitely
   requested to transition to 'up' state. Useful for additional
   verification steps after writing a read-only volume.
 * remove unused ubus events as blockd does that much better now

Signed-off-by: Daniel Golle <redacted>
utils/uvol/files/lvm.sh
utils/uvol/files/ubi.sh

index 06a4920b8c0e8f421919118e3ab4d92bb48c61ec..cf808aea08fda0f052ea319b4d507438f1c906c3 100644 (file)
@@ -239,7 +239,6 @@ createvol() {
        fi
        lvm_cmd lvrename "$vg_name" "wp_$1" "rw_$1"
        exportlv "$1"
-       ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"${lv_name:0:2}\", \"device\": \"$lv_dm_path\"}"
        return 0
 }
 
@@ -247,7 +246,6 @@ removevol() {
        exportlv "$1"
        [ "$lv_full_name" ] || return 2
        lvm_cmd lvremove -y "$lv_full_name"
-       ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"${lv_name:0:2}\", \"device\": \"$lv_dm_path\"}"
 }
 
 updatevol() {
@@ -256,11 +254,12 @@ updatevol() {
        [ "$lv_size" -ge "$2" ] || return 27
        case "$lv_path" in
                /dev/*/wo_*)
-                       lvm_cmd lvchange -a y -p rw "$lv_full_name"
+                       lvm_cmd lvchange -p rw "$lv_full_name"
+                       lvm_cmd lvchange -a y "$lv_full_name"
                        dd of="$lv_path"
+                       lvm_cmd lvchange -a n "$lv_full_name"
                        lvm_cmd lvchange -p r "$lv_full_name"
                        lvm_cmd lvrename "$lv_full_name" "${lv_full_name%%/*}/ro_$1"
-                       ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"$(getdev "$@")\"}"
                        return 0
                        ;;
                default)
index 0664ce93509cf1d1d482bfee7eb918216a2f71a1..3eb79adb95fa69a79da9c5dc98b6e25e370922f5 100644 (file)
@@ -114,22 +114,15 @@ createvol() {
        ubiupdatevol -t "/dev/$voldev"
        [ "$mode" = "wp" ] || return 0
        mkubifs "/dev/$voldev"
-       ubirename "/dev/$ubidev" "uvol-wp-$1" "uvol-rw-$1"
-       ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"rw\", \"fstype\": \"ubifs\", \"device\": \"/dev/$voldev\"}"
+       ubirename "/dev/$ubidev" "uvol-wp-$1" "uvol-wd-$1"
 }
 
 removevol() {
-       local voldev evdata
+       local voldev
        voldev=$(getdev "$@")
        [ "$voldev" ] || return 2
-       if vol_is_mode "$voldev" rw ; then
-               evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/$voldev\"}"
-       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 $?
-       [ "$evdata" ] && ubus send block.volume "$evdata"
 }
 
 activatevol() {
@@ -137,16 +130,15 @@ activatevol() {
        voldev="$(getdev "$@")"
        [ "$voldev" ] || return 2
        vol_is_mode "$voldev" rw && return 0
+       vol_is_mode "$voldev" ro && return 0
        vol_is_mode "$voldev" wo && return 22
        vol_is_mode "$voldev" wp && return 16
-       if vol_is_mode "$voldev" ro; then
-               [ -e "/dev/ubiblock${voldev:3}" ] && return 0
+       if vol_is_mode "$voldev" rd; then
+               ubirename "/dev/$ubidev" "uvol-rd-$1" "uvol-ro-$1"
                ubiblock --create "/dev/$voldev"
-               ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
                return 0
        elif vol_is_mode "$voldev" wd; then
                ubirename "/dev/$ubidev" "uvol-wd-$1" "uvol-rw-$1"
-               ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"rw\", \"fstype\": \"ubifs\", \"device\": \"/dev/$voldev\"}"
                return 0
        fi
 }
@@ -155,16 +147,17 @@ disactivatevol() {
        local voldev
        voldev="$(getdev "$@")"
        [ "$voldev" ] || return 2
+       vol_is_mode "$voldev" rd && return 0
+       vol_is_mode "$voldev" wd && return 0
        vol_is_mode "$voldev" wo && return 22
        vol_is_mode "$voldev" wp && return 16
        if vol_is_mode "$voldev" ro; then
                [ -e "/dev/ubiblock${voldev:3}" ] || return 0
                ubiblock --remove "/dev/$voldev" || return $?
-               ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
+               ubirename "/dev/$ubidev" "uvol-ro-$1" "uvol-rd-$1" || return $?
                return 0
        elif vol_is_mode "$voldev" rw; then
                ubirename "/dev/$ubidev" "uvol-rw-$1" "uvol-wd-$1" || return $?
-               ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"rw\", \"device\": \"/dev/$voldev\"}"
                return 0
        fi
 }
@@ -176,9 +169,7 @@ updatevol() {
        [ "$2" ] || return 22
        vol_is_mode "$voldev" wo || return 22
        ubiupdatevol -s "$2" "/dev/$voldev" -
-       ubirename "/dev/$ubidev" "uvol-wo-$1" "uvol-ro-$1"
-       ubiblock --create "/dev/$voldev"
-       ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
+       ubirename "/dev/$ubidev" "uvol-wo-$1" "uvol-rd-$1"
 }
 
 listvols() {
@@ -210,17 +201,12 @@ bootvols() {
                                voldev="/dev/ubiblock${voldev:3}"
                                ubiblock --create "/dev/$voldev"
                                ;;
-                       uvol-rw-*)
-                               voldev="/dev/$voldev"
-                               fstype="ubifs"
-                               ;;
                        *)
                                continue
                                ;;
                esac
                volmode="${volname:5:2}"
                volname="${volname:8}"
-               ubus send block.volume "{\"name\": \"$volname\", \"action\": \"up\", \"mode\": \"$volmode\",${fstype:+ \"fstype\": \"$fstype\", }\"device\": \"$voldev\"}"
        done
 }
 
git clone https://git.99rst.org/PROJECT