> > 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
