30 lines
		
	
	
		
			625 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			625 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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"
 | 
						|
) &
 |