> > I'm getting errors within the first 30G of the backup so it's pretty
> > reproducible within 10 minutes or so. After all that though, the
error
> > I'm getting is "The request could not be performed because of an I/O
> > device error."!
> 
> I suspect that your drive is configured to run in asynchronous mode,
and to
> work with Bacula it must be in syncronous mode -- i.e. the I/O call
should
> not return until it has been properly written to the tape.
> 

After changing the mtops code to not return EIO but rely on the Windows
error handling, I started getting the error a lot sooner. Typically
within the first 5G. It looks like the retry code in block.c (line ~532)
only does a retry on EBUSY or EIO, so my change meant that the retry
code was no longer being called.

I put some retry code in mtops with a heap of debugging and sure enough,
the WriteFile call fails sometimes, but then works the 2nd or 3rd
attempt.

It seems strange to me that 'lets just try that again' is an acceptable
response to an I/O error... but maybe Linux has that problem too? Unless
the retry loop in block.c was put there for Windows too?

I'm a little baffled...

James

------------------------------------------------------------------------------
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to