Hi, before going any further on this path:
Do you/we realy want to change that behavior of amanda ? It's been there since more or less ancient times! (At least since amanda-2.4.0 when i started using amanda)
The current behavior has it's pros, but i can't see real contras at the moment.
amrmtape has always been used to remove the contents of a tape from amanda's databases, not to make it unusable for amanda.
i can't see a real-life situation where you want to have a tape
with a correct label for a configuration but won't allow amanda to touch it, that can't be handled with "amadmin noreuse".
I would say we should not touch this behavior without a verry good reason.
Christoph
Jean-Louis Martineau schrieb:
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);
