Use a unique zpool name during install, in the case of having another

PC-BSD / FreeBSD zpool on the system for another install.

Submitted by:	kmoore
Obtained from:	PC-BSD
MFC after:	3 days
Sponsored by:	iXsystems
This commit is contained in:
Josh Paetzel 2012-05-04 15:31:35 +00:00
parent ff9452e199
commit eb2f2e8930

View File

@ -216,7 +216,7 @@ fetch_file()
fetch -s "${FETCHFILE}" >${SIZEFILE}
SIZE="`cat ${SIZEFILE}`"
SIZE="`expr ${SIZE} / 1024`"
SIZE=$((SIZE/1024))
echo "FETCH: ${FETCHFILE}"
echo "FETCH: ${FETCHOUTFILE}" >>${LOGOUT}
@ -276,11 +276,22 @@ get_zpool_name()
else
# Need to generate a zpool name for this device
NUM=`ls ${TMPDIR}/.zpools/ | wc -l | sed 's| ||g'`
NEWNAME="${BASENAME}${NUM}"
# Is it used in another zpool?
while
z=1
do
NEWNAME="${BASENAME}${NUM}"
zpool import | grep -q "${NEWNAME}"
if [ $? -ne 0 ] ; then break ; fi
NUM=$((NUM+1))
done
# Now save the new tank name
mkdir -p ${TMPDIR}/.zpools/`dirname $DEVICE`
echo "$NEWNAME" >${TMPDIR}/.zpools/${DEVICE}
echo "${NEWNAME}"
return
return 0
fi
};