Hi,
Amanda should not use a tape if it's label is not in the tapelist file.
Could you try this patch.
Jean-Louis
On Thu, Feb 05, 2004 at 05:27:36PM +0100, Christoph Scheeder wrote:
> Hi,
>
> amrmtape only removes the entrys for the tape from all databases,
> but amanda will happily use it if she sees it again as the label
> on tape is not touched at all.
>
> The question is what should be achieved:
>
> 1.) make amanda forget about the backups on that tape?
> -> ok, amrmtape is your friend, it does what you want.
>
> 2.) you want amanda to reject the tape when she sees it again?
> -> "amadmin <config> <tape-label> noreuse" marks the tape as
> "this tape is not allowed to be overwrite by amanda"
>
> 3.) you want to delete the amanda tapelabel and all other data
> from the tape, so amnda doesn't touch it anymore?
> -> use dd to overwrite the first block on the tape with 0 or random data.
>
> Christoph
>
> Dave Ewart schrieb:
>
> >On Thursday, 05.02.2004 at 10:05 -0500, Kin-Ho Kwan wrote:
> >
> >
> >>Hi,
> >>
> >>Is it sufficient enough to just run "amrmtape -n conf TAPE001" so that
> >>Amanda will not use this tape for backup?
> >>
> >>I try to run "amrmtape -n conf TAPE001", but Amanda still use that
> >>tape to backup stuff. Is there any other command I need to run to
> >>remove the Amanda label?
> >
> >
> >Reading TFM, I see:
> >
> >-n Generate new tapelist and database files with label
> > removed, but leave them in /tmp and do not update the
> > original copies.
> >
> >I suggest dropping the '-n' ... :-)
> >
> >Dave.
diff -u -r --show-c-function --exclude-from=amanda.diff
amanda-2.4.5b1.orig/server-src/amcheck.c amanda-2.4.5b1.new/server-src/amcheck.c
--- amanda-2.4.5b1.orig/server-src/amcheck.c 2003-11-25 07:21:07.000000000 -0500
+++ amanda-2.4.5b1.new/server-src/amcheck.c 2004-02-05 11:42:09.000000000 -0500
@@ -959,7 +959,11 @@ int start_server_check(fd, do_localchk,
tapebad = 1;
} else if(strcmp(label, FAKE_LABEL) != 0) {
tp = lookup_tapelabel(label);
- if(tp != NULL && !reusable_tape(tp)) {
+ if(tp == NULL) {
+ fprintf(outf, "ERROR: label %s match labelstr but it not listed in the
tapelist file.\n", label);
+ tapebad = 1;
+ }
+ else if(tp != NULL && !reusable_tape(tp)) {
fprintf(outf, "ERROR: cannot overwrite active tape %s\n", label);
tapebad = 1;
}
diff -u -r --show-c-function --exclude-from=amanda.diff
amanda-2.4.5b1.orig/server-src/taper.c amanda-2.4.5b1.new/server-src/taper.c
--- amanda-2.4.5b1.orig/server-src/taper.c 2003-11-25 07:21:08.000000000 -0500
+++ amanda-2.4.5b1.new/server-src/taper.c 2004-02-05 11:42:21.000000000 -0500
@@ -1791,7 +1791,14 @@ int label_tape()
/* check against tape list */
if (strcmp(label, FAKE_LABEL) != 0) {
tp = lookup_tapelabel(label);
- if(tp != NULL && !reusable_tape(tp)) {
+ if(tp == NULL) {
+ errstr = newvstralloc(errstr,
+ "label ", label,
+ " match labelstr but it not listed in the tapelist file",
+ NULL);
+ return 0;
+ }
+ else if(tp != NULL && !reusable_tape(tp)) {
errstr = newvstralloc(errstr,
"cannot overwrite active tape ", label,
NULL);