51 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # SPDX-License-Identifier: GPL-2.0
 | |
| #
 | |
| # Copyright (c) 2011 Bryan Schumaker <bjschuma@netapp.com>
 | |
| #
 | |
| # Script for easier NFSD fault injection
 | |
| 
 | |
| # Check that debugfs has been mounted
 | |
| DEBUGFS=`cat /proc/mounts | grep debugfs`
 | |
| if [ "$DEBUGFS" == "" ]; then
 | |
| 	echo "debugfs does not appear to be mounted!"
 | |
| 	echo "Please mount debugfs and try again"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| # Check that the fault injection directory exists
 | |
| DEBUGDIR=`echo $DEBUGFS | awk '{print $2}'`/nfsd
 | |
| if [ ! -d "$DEBUGDIR" ]; then
 | |
| 	echo "$DEBUGDIR does not exist"
 | |
| 	echo "Check that your .config selects CONFIG_NFSD_FAULT_INJECTION"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| function help()
 | |
| {
 | |
| 	echo "Usage $0 injection_type [count]"
 | |
| 	echo ""
 | |
| 	echo "Injection types are:"
 | |
| 	ls $DEBUGDIR
 | |
| 	exit 1
 | |
| }
 | |
| 
 | |
| if [ $# == 0 ]; then
 | |
| 	help
 | |
| elif [ ! -f $DEBUGDIR/$1 ]; then
 | |
| 	help
 | |
| elif [ $# != 2 ]; then
 | |
| 	COUNT=0
 | |
| else
 | |
| 	COUNT=$2
 | |
| fi
 | |
| 
 | |
| BEFORE=`mktemp`
 | |
| AFTER=`mktemp`
 | |
| dmesg > $BEFORE
 | |
| echo $COUNT > $DEBUGDIR/$1
 | |
| dmesg > $AFTER
 | |
| # Capture lines that only exist in the $AFTER file
 | |
| diff $BEFORE $AFTER | grep ">"
 | |
| rm -f $BEFORE $AFTER
 | 
