On Thu, Jun 27, 2002 at 09:30:17AM +0100, Martin Hepworth wrote:
> Jon
>
> Well it's not happy - amanda is constantly trying to do a level 0. So
> it's seeing this as a fail.
>
I find it is generally easier to follow a thread
if new comments are added at the bottom.
> --
> Martin
>
> Jon LaBadie wrote:
> >On Wed, Jun 26, 2002 at 03:47:41PM +0100, Martin Hepworth wrote:
> >
> >>Hi all
> >>
> >>well I've been fiddle with my new shiney iMac G4 trying to get amanda to
> >>back the thing up. Currently I'm getting this from the backup report..
> >>
> >>FAILURE AND STRANGE DUMP SUMMARY:
> >> stuartdmg4 / lev 0 FAILED [/usr/bin/gnutar returned 2]
> >>
> >
> > [ snipped part and rearranged next line ]
> >
> >>sendbackup: argument list: gtar --create --file - --directory /
> >>--one-file-system
> >> --listed-incremental /var/amanda/gnutar-lists/stuartdmg4__0.new
> >> --sparse
> >> --ignore-failed-read --totals .
> >
> >
> > [ snipped part ]
> >
> >
> >>sendbackup: index created successfully
> >>error [/usr/bin/gnutar returned 2]
> >>sendbackup: pid 588 finish time Wed Jun 26 01:11:36 2002
> >
> >
> >Note: amanda uses the "--ignore-failed-read" option to tar. To not use
> >this
> >would cause tar to abort if it ever failed to read a file successfully.
> >Even something as benign as file removed before tar got to it. But
> >generally permissions problems.
> >
> >When using this flag, and encountering one or more failed reads,
> >tar exits with a status of 2 rather than 0. This is what amanda is
> >telling you. The interpretation is that tar had to skip one or more
> >files. I don't know of any way to determine which files. The rest
> >of the dump should be fine.
> >
>
>
>
>
>>> End of included message <<<
Well, I hate to suggest this, but ...
On my unix system I use gnutar 1.13.25.
I use the same gnutar version on an amanda client I run on a Win2K box under CYGWIN.
The unix amanda is version 2.4.2, on the w2k box it is 2.4.3b2.
The unix box never exhibits the problem you are seeing, the w2k box always "did".
I don't know if my unix box, version 2.4.2, never sees any failed reads, or whether
there is code in amanda 2.4.2 that accepts the exit status of 2 without considering
it a failure. But the 2.4.3b2 under w2k/cygwin is sensitive to an exit status of 2.
So I had to remove the sensitivity or change gnutar so it did not exit 2.
I chose to modify gnutar. I always have amanda use its own copy of tar
so if I want to customize it, or shell wrapper it, I can without affecting
the system version of tar.
If you are compiling or can compile your own gnutar, it is a simple change.
At the end of main(), at the very end of the file tar.c is an if statement.
Nominally it says "if the exit status is 2 (aka TAREXIT_FAILURE) print an
error message". I simply added an exit(0) in the if statement. Actually,
the curley braces, a comment, and the exit(0);.
Here is the resulting code with the changes (at the end of tar.c).
if (exit_status == TAREXIT_FAILURE)
{
error (0, 0, _("Error exit delayed from previous errors"));
/* added for amanda */
exit(0);
}
exit (exit_status);
}
I scanned the gnutar code and as far as I could see, the only place the
"exit_status" variable is set to TAREXIT_FAILURE (defined as 2) is when a
failed read occured and was ignored. So I don't think any other failure mode
would be affected. But I've been wrong before :(
--
Jon H. LaBadie [EMAIL PROTECTED]
JG Computing
4455 Province Line Road (609) 252-0159
Princeton, NJ 08540-4322 (609) 683-7220 (fax)