Re: Backup issues with OpenBSD 4.5 machines
2009-09-04 19:05:19
Nathan, I think the following truth table will answer all your questions! (view in monospace font)
Patch gzip Index Result no no no dump failed (end of tape) no no yes index tee cannot write
no yes no gzip strange, dump failed no yes yes gzip strange, index tee strange, dump failed yes * * success, nothing strange
On Fri, Sep 4, 2009 at 3:01 PM, Nathan Stratton Treadway <nathanst AT ontko DOT com> wrote:
On Wed, Sep 02, 2009 at 11:11:39 -0600, Michael Burk wrote:
> This was a good idea; I tried it with one modification: I determined
> earlier that the failure happens without indexing also, so I added just the
> line:
> fcntl(datafd, F_GETFL, 0);
> and that fixed the problem as well. So I guess this is truly the minimal
> patch!
>
I tried to understand the program flow for sendbackup.c and
sendbackup_dump.c, and I agree with Dustin that it is "pretty crazy",
but as far as I can tell the only place that would generate the message
"index tee cannot write [" is from the following code found in
the "start_index()" function in sendbackup.c:
just_written = full_write(3, ptr, bytes_read);
if (just_written < (size_t)bytes_read) {
error(_("index tee cannot write [%s]"), strerror(errno));
/*NOTREACHED*/
} else {
Tracing backwards from there, it appears that the file descriptor #3 in
this chunck of code will point to the same file as the "datafd"
referenced in the patch you have been trying only if client-side compression
is not turned on. If it is turned on, it looks like fd #3 will instead
point to the input side of the process that is doing the compression.
So, if other avenues of research don't lead to a solution first, it
might be interesting to try turning on client side compression (both
with and without the one-line patch applied), to see if a similar error
occurs in that case (and if so, whether the error is still in the index-
tee-write operation or if the compression process complains instead).
Also, when switched to your one-line patch (where you call fnctl() on
"datafd" only), did you start getting the
strange(?): sed: stdout: Resource temporarily unavailable
messages in the log file again?
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: Backup issues with OpenBSD 4.5 machines, (continued)
- Message not available
- Re: Backup issues with OpenBSD 4.5 machines, Michael Burk
- Re: Backup issues with OpenBSD 4.5 machines, Nathan Stratton Treadway
- Re: Backup issues with OpenBSD 4.5 machines, Dustin J. Mitchell
- Re: Backup issues with OpenBSD 4.5 machines, Michael Burk
- Re: Backup issues with OpenBSD 4.5 machines, Dustin J. Mitchell
- Re: Backup issues with OpenBSD 4.5 machines, Nathan Stratton Treadway
- Re: Backup issues with OpenBSD 4.5 machines, Nathan Stratton Treadway
- Re: Backup issues with OpenBSD 4.5 machines,
Michael Burk <=
- Re: Backup issues with OpenBSD 4.5 machines, Nathan Stratton Treadway
- Re: Backup issues with OpenBSD 4.5 machines, Michael Burk
- Re: Backup issues with OpenBSD 4.5 machines, Nathan Stratton Treadway
- Re: Backup issues with OpenBSD 4.5 machines, Nathan Stratton Treadway
- Re: Backup issues with OpenBSD 4.5 machines, Michael Burk
- Re: Backup issues with OpenBSD 4.5 machines, Dustin J. Mitchell
- Message not available
- Re: Backup issues with OpenBSD 4.5 machines, Dustin J. Mitchell
- Message not available
- Re: Backup issues with OpenBSD 4.5 machines, Dustin J. Mitchell
- Message not available
- Message not available
- Re: Backup issues with OpenBSD 4.5 machines, Dustin J. Mitchell
- Re: Backup issues with OpenBSD 4.5 machines, Michael Burk
|
|
|