 262bf54144
			
		
	
	
	262bf54144
	
	
	
		
			
			When an AoE device is detected, the kernel is informed, and a new block device is created. If the device is unused, the block device corresponding to remote device that is no longer available may be removed from the system by telling the aoe driver to "flush" its list of devices. Without this patch, software like GPFS and LVM may attempt to read from AoE devices that were discovered earlier but are no longer present, blocking until the I/O attempt times out. Signed-off-by: Ed L. Cashin <ecashin@coraid.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			841 B
			
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			841 B
			
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| n_shelves=${n_shelves:-10}
 | |
| n_partitions=${n_partitions:-16}
 | |
| 
 | |
| if test "$#" != "1"; then
 | |
| 	echo "Usage: sh `basename $0` {dir}" 1>&2
 | |
| 	echo "       n_partitions=16 sh `basename $0` {dir}" 1>&2
 | |
| 	exit 1
 | |
| fi
 | |
| dir=$1
 | |
| 
 | |
| MAJOR=152
 | |
| 
 | |
| echo "Creating AoE devnode files in $dir ..."
 | |
| 
 | |
| set -e
 | |
| 
 | |
| mkdir -p $dir
 | |
| 
 | |
| # (Status info is in sysfs.  See status.sh.)
 | |
| # rm -f $dir/stat
 | |
| # mknod -m 0400 $dir/stat c $MAJOR 1
 | |
| rm -f $dir/err
 | |
| mknod -m 0400 $dir/err c $MAJOR 2
 | |
| rm -f $dir/discover
 | |
| mknod -m 0200 $dir/discover c $MAJOR 3
 | |
| rm -f $dir/interfaces
 | |
| mknod -m 0200 $dir/interfaces c $MAJOR 4
 | |
| rm -f $dir/revalidate
 | |
| mknod -m 0200 $dir/revalidate c $MAJOR 5
 | |
| rm -f $dir/flush
 | |
| mknod -m 0200 $dir/flush c $MAJOR 6
 | |
| 
 | |
| export n_partitions
 | |
| mkshelf=`echo $0 | sed 's!mkdevs!mkshelf!'`
 | |
| i=0
 | |
| while test $i -lt $n_shelves; do
 | |
| 	sh -xc "sh $mkshelf $dir $i"
 | |
| 	i=`expr $i + 1`
 | |
| done
 |