uvol: ubi: fix bring-up of ro volumes

Fix bring-up of ro volumes on creation and on boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle 2021-07-28 18:18:33 +01:00
parent bd08bdea6b
commit da00d71f55
No known key found for this signature in database
GPG Key ID: 5A8F39C31C3217CA
2 changed files with 9 additions and 4 deletions

View File

@ -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 $?
;;
*)

View File

@ -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
}