Home | History | Annotate | Download | only in tools
      1 #!/bin/sh
      2 ################################################################################
      3 ##                                                                            ##
      4 ## Copyright (c) International Business Machines  Corp., 2009                 ##
      5 ##                                                                            ##
      6 ## This program is free software;  you can redistribute it and/or modify      ##
      7 ## it under the terms of the GNU General Public License as published by       ##
      8 ## the Free Software Foundation; either version 2 of the License, or          ##
      9 ## (at your option) any later version.                                        ##
     10 ##                                                                            ##
     11 ## This program is distributed in the hope that it will be useful, but        ##
     12 ## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
     13 ## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   ##
     14 ## for more details.                                                          ##
     15 ##                                                                            ##
     16 ## You should have received a copy of the GNU General Public License          ##
     17 ## along with this program;  if not, write to the Free Software               ##
     18 ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA    ##
     19 ##                                                                            ##
     20 ################################################################################
     21 #									      ##
     22 # File :        insert_kernel_faults.sh					      ##
     23 #									      ##
     24 # Usage:	insert_kernel_faults.sh <fault_percentage>		      ##
     25 #									      ##
     26 # Description:  This is a simple script that inserts faults at various	      ##
     27 #		subsystems of the kernel. Please refer to the ltp/README      ##
     28 #		for the various kernel CONFIG options needed to exploit	      ##
     29 #		all those features					      ##
     30 #									      ##
     31 # Author:	Subrata Modak <subrata (at] linux.vnet.ibm.com>		      ##
     32 #									      ##
     33 # History:      Aug 11 2009 - Created - Subrata Modak.			      ##
     34 #		Aug 17 2009 - Changed the debugfs mount point - Subrata Modak.##
     35 ################################################################################
     36 
     37 if [ -z "$1" ]
     38 	then
     39 	#Check if Useage has been proper
     40 	echo "Usage: $0 <fault_percentage>"
     41 	exit 1
     42 fi
     43 
     44 #These are the types of Subsystems where fault will be injected
     45 #Make sure debugfs has been mounted
     46 for FAILTYPE in fail_io_timeout fail_make_request fail_page_alloc failslab
     47 do
     48 	echo $1 > /sys/kernel/debug/$FAILTYPE/probability
     49 	echo 100 > /sys/kernel/debug/$FAILTYPE/interval
     50 	echo -1 > /sys/kernel/debug/$FAILTYPE/times
     51 	echo 0 > /sys/kernel/debug/$FAILTYPE/space
     52 done
     53 
     54