use English;
use Getopt::Long;
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
$| = 1;
if (-d "@AMANDA_DBGDIR@") {
chomp ($tapeDevice = `$sbindir/amgetconf$SUF tapedev 2>&1`);
die "tapedev not found in amanda.conf"
- if !$tapeDevice or $tapeDevice =~ m/BUGGY/;
+ if !$tapeDevice or $tapeDevice eq "" or
+ $tapeDevice =~ m/no such parameter/;
chomp ($changerDevice = `$sbindir/amgetconf$SUF changerdev 2>&1`);
chomp $changerDevice;
die "changerdev not found in amanda.conf"
- if !$changerDevice or $changerDevice =~ m/BUGGY/;
+ if !$changerDevice or $changerDevice eq "" or
+ $changerDevice =~ m/no such parameter/;
#
# Initialise a few global variables
print "$progname: cannot '@CHIO@ -f $changerDevice move' tape $tape into drive 0\n";
exit(2);
}
+
+ # wait for tape to load
+ $count = 1800;
+ while ( $count > 0 &&
+ system("$MT $MTF $tapeDevice status > /dev/null 2>&1" ) ) {
+ print LOG &do_time(), ": waiting for tape to load\n";
+ sleep 30;
+ $count -= 30;
+ }
+
print LOG &do_time(), ": leave: Load\n";
}
# firmware rev but for now it's safest to just explicitly eject
# the tape before moving the cartridge.
#
- if ( system ("@MT@ @MT_FILE_FLAG@ $tapeDevice offline") ) {
- print "$progname: Warning, failed to eject the tape with '@MT@ @MT_FILE_FLAG@ $tapeDevice offline'\n";
+ if ( system ("$MT $MTF $tapeDevice offline") ) {
+ print "$progname: Warning, failed to eject the tape with '$MT $MTF $tapeDevice offline'\n";
# NB: not fatal; let chio try it's thing
}
print "<none> mt program not found\n";
exit(1);
}
-print LOG &do_time(), "MT -> $MT $MTF\n";
+print LOG &do_time(), ": MT -> $MT $MTF\n";
system ("$MT $MTF $tapeDevice rewind")
unless $currentTape == 0;