maxwen | 27116ba | 2015-08-14 21:41:28 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | # Seconds to try to reread partition table |
| 4 | cnt=60 |
| 5 | |
| 6 | exec </dev/null |
| 7 | exec >"/tmp/${0##*/}.$$.out" |
| 8 | exec 2>&1 |
| 9 | |
| 10 | ( |
| 11 | echo "Running: $0" |
| 12 | echo "Env:" |
| 13 | env | sort |
| 14 | |
| 15 | while sleep 1; test $cnt != 0; do |
| 16 | echo "Trying to reread partition table on $DEVNAME ($cnt)" |
| 17 | : $((cnt--)) |
| 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: $?" |
| 27 | done |
| 28 | echo "Timed out" |
| 29 | ) & |