#!/bin/sh | |
# Seconds to try to reread partition table | |
cnt=60 | |
exec </dev/null | |
exec >"/tmp/${0##*/}.$$.out" | |
exec 2>&1 | |
( | |
echo "Running: $0" | |
echo "Env:" | |
env | sort | |
while sleep 1; test $cnt != 0; do | |
echo "Trying to reread partition table on $DEVNAME ($cnt)" | |
cnt=$((cnt-1)) | |
# If device node doesn't exist, it means the device was removed. | |
# Stop trying. | |
test -e "$DEVNAME" || { echo "$DEVNAME doesn't exist, aborting"; exit 1; } | |
#echo "$DEVNAME exists" | |
if blockdev --rereadpt "$DEVNAME"; then | |
echo "blockdev --rereadpt succeeded" | |
exit 0 | |
fi | |
echo "blockdev --rereadpt failed, exit code: $?" | |
done | |
echo "Timed out" | |
) & |