On 09/05/14 14:09, Allan Black wrote: > On 01/04/14 10:26, Roberts, Ben wrote: >>> It appears that the OS tape driver does not properly >>> implement back space record after an EOT. This is a defect of the operating >>> system driver, but it is not fatal for Bacula. >> Indeed I was seeing the same failure to backspace over EOT error in the job >> logs: >> End of Volume "GSA784L6" at 3910:8005 on device "drive-1-tapestore1" >> (/dev/rmt/1mbn). Write of 64512 bytes got 0. >> Error: Backspace record at EOT failed. ERR=I/O error >> End of medium on Volume "GSA784L6" Bytes=3,909,704,343,552 Blocks=60,604,295 >> at 28-Mar-2014 21:28 > I am getting exactly the same symptoms, also under Solaris 11, except this > time > with an LTO2 drive. The drive worked perfectly under Solaris 10, though, and I > only started seeing this after upgrading to 11.1. > > The btape fill/m test gave me this at the end of the first tape: > > Wrote block=3160000, file,blk=204,13499 VolBytes=203,857,855,488 rate=20.62 > MB/s > 08-May 16:59 btape JobId 0: End of Volume "TestVolume1" at 204:15112 on device > "lto" (/dev/rmt/4cbn). Write of 64512 bytes got 0. > 08-May 16:59 btape JobId 0: Error: Backspace record at EOT failed. ERR=I/O > error > btape: btape.c:2702 Last block at: 204:15111 this_dev_block_num=15112 > btape: btape.c:2737 End of tape 204:-1. Volume Bytes=203,961,913,344. Write > rate > = 20.60 MB/s > 08-May 16:59 btape JobId 0: End of medium on Volume "TestVolume1" > Bytes=203,961,913,344 Blocks=3,161,612 at 08-May-2014 16:59.
This is quite an old thread, but I'm reviving it because I have something significant to add - I'm pleased to report that BSR over EOT is now working after an upgrade to Solaris 11.3. > I have difficulty believing that the Solaris mtio and/or st modules fail to > handle EOT properly, I now believe it, though :-) A while ago, when researching this, I came across a document on support.oracle.com. (Doc ID 1919928.1 if you want to go looking for it!) It wasn't really the same problem, but it did contain a statement that struck a chord with me: "Solaris 11 changed the way initial tape position is determined. st now uses Long Form Read Position to determine the tapes position." No **** man :-) In other words, Sun/Oracle rewrote a large part of the st driver, and broke it. The btape fill test would write to the tape OK with "Backward Space Record = no", but the unfill test would get an I/O error trying to read the end of tape 1. I believe the data were all written correctly but btape couldn't position the tape properly for unfill due to problems with the Solaris 11 st driver. I suspect that Bacula under early Solaris 11 wouldn't be able to recover some data from a backup, if that data happened to be near the end of a tape. Restoring an entire backup would possibly be OK though. [ufsdump/ufsrestore work fine with multiple tapes because ufsrestore doesn't seek] I can't be sure exactly where the bug appeared and disappeared, but it's a good bet it's been there since Solaris 11 was first released. Based on the Solaris versions I have used, I can say this much: Solaris 10 - Works as expected Solaris 11.1.0.24.2 - BSR over EOT causes I/O error Solaris 11.1.18.5.0 - BSR over EOT causes I/O error Solaris 11.2.8.4.0 - BSR over EOT causes I/O error Solaris 11.3.13.4.0 - Works as expected So it was fixed somewhere between 11.2.8 and 11.3.13 - now I wish I had upgraded to Solaris 11.3 months ago! Allan ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users