Page MenuHomeFreeBSD

D31587.id93829.diff
No OneTemporary

D31587.id93829.diff

Index: libexec/rc/rc.d/growfs
===================================================================
--- libexec/rc/rc.d/growfs
+++ libexec/rc/rc.d/growfs
@@ -48,6 +48,20 @@
stop_cmd=":"
rcvar="growfs_enable"
+growfs_get_diskdev ()
+{
+ sysctl -b kern.geom.conftxt |
+ while read line
+ do
+ local _type=$(echo ${line} | awk '{printf $2}')
+ local _dev=$(echo ${line} | awk '{printf $3}')
+ if [ "${_type}" = "DISK" -a -n "$(echo ${1} | grep ${_dev})" ]; then
+ echo -n ${_dev}
+ break
+ fi
+ done
+}
+
growfs_start ()
{
echo "Growing root partition to fill device"
@@ -69,13 +83,24 @@
# raw device
rawdev="$rootdev"
else
- rawdev=$(glabel status | awk '$1 == "'"$rootdev"'" { print $3 }')
+ rawdev=$(glabel status | awk 'index("'"$rootdev"'", $1) { print $3 }')
if [ x"$rawdev" = x"" ]; then
echo "Can't figure out device for: $rootdev"
return
fi
fi
+ if [ x"diskid" = x"${rootdev%/*}" ]; then
+ search=$rootdev
+ else
+ search=$rawdev
+ fi
+
+ diskdev=$(growfs_get_diskdev ${search})
+ if [ -z "${diskdev}" ]; then
+ diskdev=${rootdev}
+ fi
+
sysctl -b kern.geom.conftxt | awk '
{
lvl=$1
@@ -104,8 +129,8 @@
}
exit 0
}
-}' dev="$rawdev"
- gpart commit "$rootdev"
+}' dev="$search"
+ gpart commit "$diskdev" 2> /dev/null
case "$FSTYPE" in
ufs)
growfs -y /dev/"$rootdev"

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 12, 8:22 AM (11 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29562489
Default Alt Text
D31587.id93829.diff (1 KB)

Event Timeline