diff --git a/utils/uvol/files/ubi.sh b/utils/uvol/files/ubi.sh index 9ddda54da4..0a43224fbb 100644 --- a/utils/uvol/files/ubi.sh +++ b/utils/uvol/files/ubi.sh @@ -151,7 +151,6 @@ activatevol() { if vol_is_mode "$voldev" rd; then ubirename "/dev/$ubidev" "uvol-rd-$1" "uvol-ro-$1" || return $? ubiblock --create "/dev/$voldev" || return $? - block_hotplug add "ubiblock${voldev:3}" return 0 elif vol_is_mode "$voldev" wd; then ubirename "/dev/$ubidev" "uvol-wd-$1" "uvol-rw-$1" || return $? @@ -188,7 +187,9 @@ updatevol() { [ "$2" ] || return 22 vol_is_mode "$voldev" wo || return 22 ubiupdatevol -s "$2" "/dev/$voldev" - - uvol_uci_add "$1" "/dev/$voldev" "ro" + ubiblock --create "/dev/$voldev" + uvol_uci_add "$1" "/dev/ubiblock${voldev:3}" "ro" + ubiblock --remove "/dev/$voldev" ubirename "/dev/$ubidev" "uvol-wo-$1" "uvol-rd-$1" } @@ -218,7 +219,6 @@ bootvols() { fstype= case "$volname" in uvol-ro-*) - voldev="/dev/ubiblock${voldev:3}" ubiblock --create "/dev/$voldev" || return $? ;; *) diff --git a/utils/uvol/files/uvol.init b/utils/uvol/files/uvol.init index 7c290d7323..1f6e2aac08 100644 --- a/utils/uvol/files/uvol.init +++ b/utils/uvol/files/uvol.init @@ -6,7 +6,7 @@ NAME=uvol PROG=/usr/sbin/uvol start_service() { - [ "${__BOOT_UVOL}" = "1" ] || return 0 + [ "${__BOOT_UVOL}" = "1" ] && return 0 procd_open_instance "$NAME" procd_set_param command "$PROG" boot procd_close_instance @@ -16,3 +16,8 @@ boot() { __BOOT_UVOL=1 start } + +service_triggers() { + procd_add_raw_trigger "mount.ready" 200 /etc/init.d/uvol start +} +