X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=server-src%2Famstatus.pl;fp=server-src%2Famstatus.pl;h=443e7e503f43bea075b8f53c50db38432cab8c51;hb=949b8910a5e23c4285d0b1aedacfc82a14dc97a5;hp=7192e181e1605b63b5e8b0ccd2ba381851708385;hpb=c6f0a88c567f8536c498f554285aed1f8150da18;p=debian%2Famanda diff --git a/server-src/amstatus.pl b/server-src/amstatus.pl index 7192e18..443e7e5 100644 --- a/server-src/amstatus.pl +++ b/server-src/amstatus.pl @@ -259,8 +259,8 @@ while($lineX = ) { $dump_started{$hostpart}=-1; $level{$hostpart}=$line[5]; $error{$hostpart}="planner: " . $line[6]; - } elsif($line[1] eq "time") { - if($line[3] eq "got") { + } elsif($line[1] eq "time") { + if($line[3] eq "got") { if($line[4] eq "result") { $host = $line[7]; $partition = $line[9]; @@ -410,6 +410,7 @@ while($lineX = ) { } $running_dumper{$dumper} = $hostpart; $error{$hostpart}=""; + $taper_error{$hostpart}=""; $size{$hostpart} = 0; $dumpers_active++; if(! defined($dumpers_active[$dumpers_active])) { @@ -483,6 +484,7 @@ while($lineX = ) { $taper_started{$hostpart}=1; $taper_finished{$hostpart}=0; $taper_time{$hostpart}=$current_time; + $taper_error{$hostpart}=""; $ntchunk_size = 0; } elsif($line[6] eq "PORT-WRITE") { @@ -498,6 +500,7 @@ while($lineX = ) { $taper_started{$hostpart}=1; $taper_finished{$hostpart}=0; $taper_time{$hostpart}=$current_time; + $taper_error{$hostpart}=""; $size{$hostpart} = 0; $ntchunk_size = 0; } @@ -518,10 +521,12 @@ while($lineX = ) { $dump_finished{$hostpart}=-3; } $busy_time{$line[5]}+=($current_time-$dump_time{$hostpart}); - $running_dumper{$line[5]} = "0"; - $dump_time{$hostpart}=$current_time; - $error{$hostpart}="dumper: $error"; - $dumpers_active--; + $running_dumper{$line[5]} = "0"; + $dump_time{$hostpart}=$current_time; + if (!$taper_error{$hostpart}) { + $error{$hostpart}="dumper: $error"; + } + $dumpers_active--; } elsif($line[6] eq "DONE") { @@ -597,15 +602,16 @@ while($lineX = ) { } elsif($line[5] eq "taper") { if($line[6] eq "DONE" || $line[6] eq "PARTIAL") { - #7:handle 8:label 9:filenum 10:errstr + #DONE: 7:handle 8:label 9:filenum 10:errstr + #PARTIAL: 7:handle 8:INPUT-* 9:TAPE-* 10:errstr 11:INPUT-MSG 12:TAPE-MSG $serial=$line[7]; - $label=$line[8]; + $status_taper = "Idle"; $hostpart=$serial{$serial}; $line[10] =~ /sec (\S+) (kb|bytes) (\d+) kps/; if ($2 eq 'kb') { $size=$3 / $unitdivisor; - } else { + } else { $size=$3 / ( $unitdivisor * 1024); } $taper_finished{$hostpart}=1; @@ -624,6 +630,10 @@ while($lineX = ) { } if ($line[6] eq "PARTIAL") { $partial{$hostpart} = 1; + if ($line[9] eq "TAPE-ERROR") { + $error{$hostpart} = "taper: $line[12]"; + $taper_error{$hostpart} = "taper: $line[12]"; + } } else { $partial{$hostpart} = 0; @@ -933,7 +943,7 @@ foreach $host (sort @hosts) { $taper_started{$hostpart}==1 && $dump_finished{$hostpart}!=-3) { if(defined $dump_started{$hostpart} && - $dump_started{$hostpart} == 1 && + $dump_started{$hostpart} == 1 && $dump_finished{$hostpart} == -1) { if(defined $opt_failed) { printf "%8s ", $datestamp if defined $opt_date; @@ -946,7 +956,7 @@ foreach $host (sort @hosts) { $fpartition++; $fsize+=$esize{$hostpart}; } elsif(defined $dump_started{$hostpart} && - $dump_started{$hostpart} == 1 && + $dump_started{$hostpart} == 1 && $dump_finished{$hostpart} == 0 && $taper_started{$hostpart} == 1) { if( defined $opt_dumpingtape || @@ -995,6 +1005,7 @@ foreach $host (sort @hosts) { $exit_status |= $STATUS_FAILED; } if($in_flush == 0) { + print " dump done," if defined $dump_finished{$hostpart} && $dump_finished{$hostpart} == 1; print " writing to tape"; } else { @@ -1065,6 +1076,7 @@ foreach $host (sort @hosts) { printf "%8s ", $datestamp if defined $opt_date; printf "%-${maxnamelength}s%2d ", "$host:$qpartition", $level{$hostpart}; printf "%9d$unit", $xsize; + print " dump done," if defined $dump_finished{$hostpart} && $dump_finished{$hostpart} == 1; if($in_flush == 0) { print " failed to tape"; } @@ -1072,7 +1084,7 @@ foreach $host (sort @hosts) { print " failed to flush"; } print ": ",$error{$hostpart} if defined $error{$hostpart}; - + print " (will retry)" unless $taper_finished{$hostpart} < -1; if( defined $starttime ) { print " (", &showtime($taper_time{$hostpart}), ")";