reread partition table and be more careful if no partitions

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack 2016-05-04 14:56:17 +01:00
parent 63f5178cf8
commit 921aaa895e

View File

@ -19,11 +19,18 @@ start()
if fdisk -l ${DRIVE} | grep -q "doesn't contain a valid partition table"
then
ERASE_DISKS="${DRIVE}" setup-disk -m data ${DRIVE}
blockdev --rereadpt ${DRIVE} 2> /dev/null
else
SWAP=$(fdisk -l ${DRIVE} | grep 'Linux swap' | head -1 | awk '{print $1}')
DATA=$(fdisk -l ${DRIVE} | grep 'Linux$' | head -1 | awk '{print $1}')
mount ${DATA} /var && swapon ${SWAP} || ERASE_DISKS="${DRIVE}" setup-disk -m data ${DRIVE}
resize2fs ${DATA}
if [ -z "$DATA" ]
then
ERASE_DISKS="${DRIVE}" setup-disk -m data ${DRIVE}
blockdev --rereadpt ${DRIVE} 2> /dev/null
else
mount ${DATA} /var && swapon ${SWAP} || ( ERASE_DISKS="${DRIVE}" setup-disk -m data ${DRIVE}; blockdev --rereadpt ${DRIVE} 2> /dev/null )
resize2fs ${DATA} 2> /dev/null
fi
# boot2docker compat, has /var and /tmp on partition
[ -d /var/var/lib/boot2docker/ ] && mount --bind /var/var /var
fi