Changeset 3119 in MondoRescue for branches/3.0/mindi/rootfs/etc/init.d/rcS
- Timestamp:
- May 10, 2013, 8:54:24 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.0/mindi/rootfs/etc/init.d/rcS
r3090 r3119 142 142 [ ! "$tapedev" ] && tapedev=`grep media-dev /tmp/mondo-restore.cfg 2>/dev/null | tr -s ' ' ' ' | cut -d' ' -f2` 143 143 mt -f $tapedev rewind 144 if [ $? -ne 0 ]; then 145 LogIt "WARNING: $tapedev failed to rewind, either not a tape or still in OBDR mode." 1 146 LogIt " Trying to find the corresponding SCSI generic device." 1 147 c=0 148 for d in `ls /sys/class/scsi_device/*`; do 149 devtype=`cat $d/device/type` 150 if [ _"$devtype" -eq _"1" ]; then 151 LogIt "NOTE: Device /dev/sg$c is a Sequential device." 1 152 if [ -x /usr/bin/sg_map ]; then 153 dev=`/usr/bin/sg_map | grep -E "^/dev/sg$c" | awk '{print $2}'` 154 LogIt " Retry using device $dev" 1 155 fi 156 elif [ _"$devtype" -eq _"0" ]; then 157 # Skipping a HDD 158 elif [ _"$devtype" -eq _"5" ]; then 159 # Checking whether it's a CD or a tape in OBDR mode 160 grep -q -i -E 'dat|ultrium|tape' $d/device/model 161 if [ $? -eq 0 ]; then 162 # Is probably a Tape drive left in OBDR. 163 LogIt "Found that /dev/sg$c is a tape drive (`cat $d/device/model`)." 1 164 grep -q -i -w 'hp' $d/device/vendor 165 if [ $? -eq 0 ]; then 166 LogIt "This is an HP tape drive, even better :-)." 1 167 fi 168 if [ -x /usr/bin/sg_reset ]; then 169 OBDR_MODS="st mptsas mptspi aic7xxx aic94xx mpt2sas " 170 if [ "`grep -i obdrmods /proc/cmdline`" ]; then 171 OBDR_MODS="$OBDR_MODS `cat /proc/cmdline | sed 's~.*obdrmods=\"\(.*\)\".*~\1~'`" 172 fi 173 LogIt "Removing modules $OBDR_MODS." 1 174 for m in $OBDR_MODS; do 175 rmmod $i 176 done 177 LogIt "Trying to force device /dev/sg$c to be in sequential mode." 1 178 /usr/bin/sg_reset -d /dev/sg$c 179 LogIt "Inserting modules `rev $OBDR_MODS`." 1 180 for m in `rev $OBDR_MODS`; do 181 modprobe $i 182 done 183 LogIt "Retry again as the device has been set back into sequential mode." 1 184 mt -f $tapedev fsf 2 185 res=$? 186 # exit the loop to continue and return if that previous mt failed. 187 # If it succeeded we transparently continue !! 188 break 189 else 190 LogIt "WARNING: Unable to reset /dev/sg$c as the sg_reset command is not availble." 1 191 fi 192 fi 193 else 194 LogIt "Device /dev/sg$c has an unknown type $devtype." 1 195 fi 196 c=`expr $c + 1` 197 done 198 199 if [ $res -ne 0 ]; then 200 cd $old_pwd 201 return $res 202 fi 203 fi 204 144 205 mt -f $tapedev fsf 2 145 206 # 32k is DEFAULT_INTERNAL_TAPE_BLOCK_SIZE … … 667 728 } 668 729 669 670 730 EnableCcissIfAppropriate() { 671 731 local f
Note:
See TracChangeset
for help on using the changeset viewer.