1#!/bin/sh 2 3# Seconds to try to reread partition table 4cnt=60 5 6exec </dev/null 7exec >"/tmp/${0##*/}.$$.out" 8exec 2>&1 9 10( 11echo "Running: $0" 12echo "Env:" 13env | sort 14 15while sleep 1; test $cnt != 0; do 16 echo "Trying to reread partition table on $DEVNAME ($cnt)" 17 cnt=$((cnt-1)) 18 # If device node doesn't exist, it means the device was removed. 19 # Stop trying. 20 test -e "$DEVNAME" || { echo "$DEVNAME doesn't exist, aborting"; exit 1; } 21 #echo "$DEVNAME exists" 22 if blockdev --rereadpt "$DEVNAME"; then 23 echo "blockdev --rereadpt succeeded" 24 exit 0 25 fi 26 echo "blockdev --rereadpt failed, exit code: $?" 27done 28echo "Timed out" 29) & 30