[PATCH 04/50] Modify root cmdline parsing to use a case statement.

This code takes less space and is easier to read at a glance.
This commit is contained in:
Victor Lowther 2009-02-13 04:41:40 -08:00 committed by Dave Jones
parent 9f99d479b3
commit f9a0b9f868

21
init
View File

@ -59,19 +59,16 @@ NEWROOT="/sysroot"
# it'd be nice if we had a udev rule that just did all of the bits for
# figuring out what the specified root is and linking it /dev/root
root=$(getarg 'root=*'); root=${root#root=}
echo -n "Going to mount rootfs ($root)"
if [ -z "$root" ]; then
echo "Warning: no root specified"
root="/dev/sda1"
elif [ "${root#LABEL=}" != $root ]; then
# FIXME: may need to do more escaping here
l=${root#LABEL=}
label=${l//\//\\x2f}
root="/dev/disk/by-label/${label}"
elif [ "${root#UUID=}" != $root ]; then
root="/dev/disk/by-uuid/${root#UUID=}"
fi
case $root in
LABEL=*) root=${root#LABEL=}
root=${root//\//\\x2f}
root="/dev/disk/by-label/${root}" ;;
UUID=*) root="/dev/disk/by-uuid/${root#UUID=}" ;;
'') echo "Warning: no root specified"
root="/dev/sda1" ;;
esac
# should we have a timeout?
tries=0
while [ ! -e $root ]; do