%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#!/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