6 if [ "$cmd" = "name" ]; then
11 test -e /sys
/class
/ubi
/version ||
return 0
12 read -r ubiver
< /sys
/class
/ubi
/version
13 [ "$ubiver" = "1" ] ||
return 1
14 test -e /sys
/devices
/virtual
/ubi ||
return 0
16 ubidev
=$
(ls -1 /sys
/devices
/virtual
/ubi |
head -n 1)
18 read -r ebsize
< "/sys/devices/virtual/ubi/${ubidev}/eraseblock_size"
20 .
/lib
/functions
/uvol.sh
23 read -r availeb
< "/sys/devices/virtual/ubi/${ubidev}/avail_eraseblocks"
24 echo $
((availeb
* ebsize
))
28 read -r totaleb
< "/sys/devices/virtual/ubi/${ubidev}/total_eraseblocks"
29 echo $
((totaleb
* ebsize
))
34 for voldir
in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
35 read -r volname
< "${voldir}/name"
51 read -r volname
< "/sys/devices/virtual/ubi/${ubidev}/${voldev}/name"
62 voldev
="$(getdev "$@
")"
63 [ "$voldev" ] ||
return 2
64 vol_is_mode
"$voldev" wo
&& return 22
65 vol_is_mode
"$voldev" wp
&& return 16
66 vol_is_mode
"$voldev" wd
&& return 1
67 vol_is_mode
"$voldev" ro
&& [ ! -e "/dev/ubiblock${voldev:3}" ] && return 1
73 voldev
="$(getdev "$@
")"
74 [ "$voldev" ] ||
return 2
75 cat "/sys/devices/virtual/ubi/${ubidev}/${voldev}/data_bytes"
80 voldev
="$(getdev "$@
")"
81 [ "$voldev" ] ||
return 2
82 if vol_is_mode
"$voldev" ro
; then
83 echo "/dev/ubiblock${voldev:3}"
84 elif vol_is_mode
"$voldev" rw
; then
92 mount
-t ubifs
"$1" "$tmp_mp" ||
return $?
93 umount
"$tmp_mp" ||
return $?
94 rmdir "$tmp_mp" ||
return $?
100 voldev
=$
(getdev
"$@")
101 [ "$voldev" ] && return 17
113 ubimkvol
"/dev/$ubidev" -N "uvol-$mode-$1" -s "$2" ||
return $?
115 [ $ret -eq 0 ] ||
return $ret
116 voldev
="$(getdev "$@
")"
117 ubiupdatevol
-t "/dev/$voldev" ||
return $?
118 [ "$mode" = "wp" ] ||
return 0
119 mkubifs
"/dev/$voldev" ||
return $?
120 uvol_uci_add
"$1" "/dev/$voldev" "rw"
121 ubirename
"/dev/$ubidev" "uvol-wp-$1" "uvol-wd-$1" ||
return $?
126 voldev
=$
(getdev
"$@")
127 [ "$voldev" ] ||
return 2
128 vol_is_mode
"$voldev" rw
&& return 16
129 vol_is_mode
"$voldev" ro
&& return 16
130 volnum
="${voldev#${ubidev}_}"
131 ubirmvol
"/dev/$ubidev" -n "$volnum" ||
return $?
144 voldev
="$(getdev "$@
")"
145 [ "$voldev" ] ||
return 2
146 vol_is_mode
"$voldev" rw
&& return 0
147 vol_is_mode
"$voldev" ro
&& return 0
148 vol_is_mode
"$voldev" wo
&& return 22
149 vol_is_mode
"$voldev" wp
&& return 16
151 if vol_is_mode
"$voldev" rd
; then
152 ubirename
"/dev/$ubidev" "uvol-rd-$1" "uvol-ro-$1" ||
return $?
153 ubiblock
--create "/dev/$voldev" ||
return $?
155 elif vol_is_mode
"$voldev" wd
; then
156 ubirename
"/dev/$ubidev" "uvol-wd-$1" "uvol-rw-$1" ||
return $?
157 block_hotplug add
"$voldev"
164 voldev
="$(getdev "$@
")"
165 [ "$voldev" ] ||
return 2
166 vol_is_mode
"$voldev" rd
&& return 0
167 vol_is_mode
"$voldev" wd
&& return 0
168 vol_is_mode
"$voldev" wo
&& return 22
169 vol_is_mode
"$voldev" wp
&& return 16
170 if vol_is_mode
"$voldev" ro
; then
171 /sbin
/block umount
"ubiblock${voldev:3}"
172 ubiblock
--remove "/dev/$voldev"
173 ubirename
"/dev/$ubidev" "uvol-ro-$1" "uvol-rd-$1" ||
return $?
175 elif vol_is_mode
"$voldev" rw
; then
176 /sbin
/block umount
"$voldev"
177 ubirename
"/dev/$ubidev" "uvol-rw-$1" "uvol-wd-$1" ||
return $?
178 block_hotplug remove
"$voldev"
185 voldev
="$(getdev "$@
")"
186 [ "$voldev" ] ||
return 2
187 [ "$2" ] ||
return 22
188 vol_is_mode
"$voldev" wo ||
return 22
189 ubiupdatevol
-s "$2" "/dev/$voldev" -
190 ubiblock
--create "/dev/$voldev"
191 uvol_uci_add
"$1" "/dev/ubiblock${voldev:3}" "ro"
192 ubiblock
--remove "/dev/$voldev"
193 ubirename
"/dev/$ubidev" "uvol-wo-$1" "uvol-rd-$1"
197 local volname volmode volsize
198 for voldir
in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
199 read -r volname
< "$voldir/name"
202 read -r volsize
< "$voldir/data_bytes"
208 volmode
="${volname:5:2}"
209 volname
="${volname:8}"
210 echo "$volname $volmode $volsize"
215 local volname volmode volsize voldev fstype
216 for voldir
in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
217 read -r volname
< "$voldir/name"
218 voldev
="$(basename "$voldir")"
222 ubiblock
--create "/dev/$voldev" ||
return $?
228 volmode
="${volname:5:2}"
229 volname
="${volname:8}"
274 echo "unknown command"