Amanda-Users

Re: Odd amrecover and amverify issue in 2.5.0b2 (SOLVED)

2006-03-16 16:38:08
Subject: Re: Odd amrecover and amverify issue in 2.5.0b2 (SOLVED)
From: Anthony Valentine <avalentine AT sbsalaska DOT com>
To: amanda-users AT amanda DOT org
Date: Thu, 16 Mar 2006 12:28:12 -0900
Anthony Valentine wrote:
Hello everyone!

I am having an odd issue with amverify and amrecover and am wondering if anyone can tell me why? Using 2.5.0b2 (upgraded from 2.4.2), the amdump seems to run fine, without any errors in the status e-mail, but I am getting some strange output when running amverify and amrecover.


These two issues have now been fixed! I am posting the solution to the list so that it hits the archive and can help others with the same issues.

The amverify problem was solved with this patch from Kevin Till:

--- amverify.sh.in      24 Feb 2006 04:44:59 -0000      1.35
+++ amverify.sh.in      15 Mar 2006 23:56:47 -0000
@@ -460,6 +460,9 @@
                 elif [ -n "$EOF" ]; then
                         report "End-of-Tape detected."
                         break
+               elif [ -n "$EOI" ]; then
+                        report "End-of-Information detected."
+                        break
                 else
                         report "** Error detected ($FILE)"
                         echo "$VOLUME ($FILE):" >>$DEFECTS



The amrecover problem was solved with this patch from John Franks:

Index: ChangeLog
===================================================================
RCS file: /cvsroot/amanda/amanda/ChangeLog,v
retrieving revision 1.1595
diff -r1.1595 ChangeLog
0a1,6
> 2006-03-06  John Franks <jrfranks AT zmanda DOT com>
>       * recover-src/extract_list.c:
>         1) Don't add '.' directory twice to tar extract list.
>         2) Don't prepend extra '/' to extract patterns starting with '/'.
>           3) Convert "/" extract pattern to "*" equivalent.
>
Index: recover-src/extract_list.c
===================================================================
RCS file: /cvsroot/amanda/amanda/recover-src/extract_list.c,v
retrieving revision 1.95
diff -r1.95 extract_list.c
482,484c482,495
<     if (strcmp(disk_path, "/") == 0)
<       path_on_disk = stralloc2("/", regex);
<     else {
---
>     if (strcmp(disk_path, "/") == 0) {
>         if (*regex == '/') {
>           if (strcmp(regex, "/[/]*$") == 0) {
>               /* We want '/' to match everything in directory... */
>               path_on_disk = stralloc("/[^/]*[/]*$");
>           } else {
>               /* No mods needed if already starts with '/' */
>               path_on_disk = stralloc(regex);
>           }
>       } else {
>           /* Prepend '/' */
>           path_on_disk = stralloc2("/", regex);
>       }
>     } else {
1550c1561,1562
<           restore_args[j++] = stralloc2(".", fn->path);
---
>           else
>               restore_args[j++] = stralloc2(".", fn->path);


Thanks everyone, for all your help!


--
Anthony Valentine
Asst. I.T. Manager
Spenard Builders Supply


UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.