diff options
Diffstat (limited to 'app-backup/amanda/files/amanda-3.4.1-labelstr.patch')
-rw-r--r-- | app-backup/amanda/files/amanda-3.4.1-labelstr.patch | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/app-backup/amanda/files/amanda-3.4.1-labelstr.patch b/app-backup/amanda/files/amanda-3.4.1-labelstr.patch deleted file mode 100644 index b169c8ae6472..000000000000 --- a/app-backup/amanda/files/amanda-3.4.1-labelstr.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff --git a/installcheck/Amanda_Rest_Storages.pl b/installcheck/Amanda_Rest_Storages.pl -index f3c699b..3e4e889 100644 ---- a/installcheck/Amanda_Rest_Storages.pl -+++ b/installcheck/Amanda_Rest_Storages.pl -@@ -308,6 +308,7 @@ is_deeply (Installcheck::Rest::remove_source_line($reply), - 'inventory' => [ - {'current' => 1, - 'label' => "DISKFLAT-001", -+ 'label_match' => '1', - 'device_status' => '0', - 'reserved' => 0, - 'f_type' => '1', -@@ -467,6 +468,7 @@ is_deeply (Installcheck::Rest::remove_source_line($reply), - 'label' => 'DISKFLAT-001', - 'datestamp' => '20140509113436', - 'write_protected' => '', -+ 'label_match' => '1', - 'process' => 'Amanda::Rest::Storages', - 'running_on' => 'amanda-server', - 'component' => 'rest-server', -diff --git a/installcheck/amtape.pl b/installcheck/amtape.pl -index 1a3527f..700c5a2 100644 ---- a/installcheck/amtape.pl -+++ b/installcheck/amtape.pl -@@ -177,13 +177,13 @@ like($Installcheck::Run::stderr, - ok(run('amtape', 'TESTCONF', 'show'), - "'amtape TESTCONF show'"); - like($Installcheck::Run::stderr, -- qr/slot +2:.*label MyTape\nslot +3/, -+ qr/slot +2:.*label MyTape \(label do not match labelstr\)\nslot +3/, - "'amtape TESTCONF show' ..result correct"); - - ok(run('amtape', 'TESTCONF', 'show', '2'), - "'amtape TESTCONF show'"); - like($Installcheck::Run::stderr, -- qr/^slot +2:.*label MyTape$/, -+ qr/^slot +2:.*label MyTape \(label do not match labelstr\)$/, - "'amtape TESTCONF show 2' ..result correct"); - - ok(run('amtape', 'TESTCONF', 'show', '1,3'), -@@ -252,13 +252,13 @@ like(run_err('amtape', 'TESTCONF', 'update'), - ok(run('amtape', 'TESTCONF', 'show'), - "'amtape TESTCONF show'"); - like($Installcheck::Run::stderr, -- qr/slot +2:.*label MyTape\nslot +3/, -+ qr/slot +2:.*label MyTape \(label do not match labelstr\)\nslot +3/, - "..result correct"); - - ok(run('amtape', 'TESTCONF', 'inventory'), - "'amtape TESTCONF inventory'"); - like($Installcheck::Run::stdout, -- qr/slot +1: blank\nslot +2: label MyTape \(current\)\nslot +3/, -+ qr/slot +1: blank\nslot +2: label MyTape \(current\) \(label do not match labelstr\)\nslot +3/, - "..result correct"); - - ok(run('amtape', 'TESTCONF', 'taper'), -diff --git a/perl/Amanda/Changer.pm b/perl/Amanda/Changer.pm -index 92ed9b6..4b4aad4 100644 ---- a/perl/Amanda/Changer.pm -+++ b/perl/Amanda/Changer.pm -@@ -60,9 +60,10 @@ sub local_message { - } elsif ($self->{'code'} == 1100014) { - return "$self->{'err'}"; - } elsif ($self->{'code'} == 1100015) { -- return sprintf("slot %3s: date %-14s label %s%s", $self->{'slot'}, -+ return sprintf("slot %3s: date %-14s label %s%s%s", $self->{'slot'}, - $self->{'datestamp'}, $self->{'label'}, -- $self->{'write_protected'}?" (Write protected)":""); -+ $self->{'write_protected'}?" (Write protected)":"", -+ $self->{'label_match'}?"":" (label do not match labelstr)"); - } elsif ($self->{'code'} == 1100016) { - return sprintf("slot %3s: unlabeled volume%s", $self->{'slot'}, - $self->{'write_protected'}?" (Write protected)":""); -@@ -2014,6 +2015,13 @@ sub show { - my $st = $dev->read_label(); - my $write_protected = !$dev->check_writable(); - if ($st == $DEVICE_STATUS_SUCCESS) { -+ my $label_match = match_labelstr( -+ $self->{'storage'}->{'labelstr'}, -+ $self->{'storage'}->{'autolabel'}, -+ $dev->volume_label(), -+ $res->{'barcode'}, -+ $res->{'meta'}, -+ $self->{'storage'}->{'storage_name'}); - $params{'user_msg'}->(Amanda::Changer::Message->new( - source_filename => __FILE__, - source_line => __LINE__, -@@ -2022,7 +2030,8 @@ sub show { - slot => $last_slot, - datestamp => $dev->volume_time(), - label => $dev->volume_label(), -- write_protected => $write_protected)); -+ write_protected => $write_protected, -+ label_match => $label_match)); - } elsif ($st == $DEVICE_STATUS_VOLUME_UNLABELED) { - $params{'user_msg'}->(Amanda::Changer::Message->new( - source_filename => __FILE__, -diff --git a/perl/Amanda/Rest/Storages.pm b/perl/Amanda/Rest/Storages.pm -index 680115b..b1b59d2 100644 ---- a/perl/Amanda/Rest/Storages.pm -+++ b/perl/Amanda/Rest/Storages.pm -@@ -436,6 +436,17 @@ sub inventory { - $inv->{'retention_type'} = $tl->get_retention_name($retention_type); - } - } -+ for my $inv (@$inventory) { -+ if ($inv->{label}) { -+ $inv->{'label_match'} = Amanda::Util::match_labelstr( -+ $storage->{'labelstr'}, -+ $storage->{'autolabel'}, -+ $inv->{'label'}, -+ $inv->{'barcode'}, -+ $inv->{'metae'}, -+ $storage->{'storage_name'}); -+ } -+ } - push @result_messages, Amanda::Changer::Message->new( - source_filename => __FILE__, - source_line => __LINE__, -diff --git a/server-src/amtape.pl b/server-src/amtape.pl -index b63607e..d06eefe 100644 ---- a/server-src/amtape.pl -+++ b/server-src/amtape.pl -@@ -30,7 +30,7 @@ use Text::Wrap; - use Amanda::Device qw( :constants ); - use Amanda::Debug qw( :logging ); - use Amanda::Config qw( :init :getconf config_dir_relative ); --use Amanda::Util qw( :constants ); -+use Amanda::Util qw( :constants match_labelstr ); - use Amanda::Storage; - use Amanda::Changer; - use Amanda::Constants; -@@ -219,6 +219,7 @@ sub { - for my $sl (@$inv) { - my $line = "slot $sl->{slot}:"; - my $tle; -+ my $meta; - if ($sl->{'state'} == Amanda::Changer::SLOT_EMPTY) { - $line .= " empty"; - } elsif (!defined($sl->{device_status}) && !defined($sl->{label})) { -@@ -230,6 +231,7 @@ sub { - if (defined $tle) { - if ($tle->{'meta'}) { - $line .= " ($tle->{'meta'})"; -+ $meta = $tle->{'meta'}; - } - } - } elsif ($sl->{'device_status'} == $DEVICE_STATUS_VOLUME_UNLABELED) { -@@ -263,6 +265,15 @@ sub { - $line .= " [device error]"; - } - } -+ if ($sl->{'label'}) { -+ if (!match_labelstr($storage->{'labelstr'}, -+ $storage->{'autolabel'}, -+ $sl->{label}, -+ $sl->{'barcode'}, $meta, -+ $storage->{'storage_name'})) { -+ $line .= " (label do not match labelstr)"; -+ } -+ } - if (defined $tle) { - my $retention_type = Amanda::Tapelist::get_retention_type($tle->{pool}, $tle->{label}); - $line .= " [" . $tl->get_retention_name($retention_type) . "]"; |