Hi, On 11/23/2006 5:20 PM, Kern Sibbald wrote: > On Thursday 23 November 2006 16:39, Martin Simmons wrote: > >>>>>>>On Thu, 23 Nov 2006 08:29:25 -0500, Bill Moran said: >>> >>>On Thu, 23 Nov 2006 10:38:41 GMT >>>Martin Simmons <[EMAIL PROTECTED]> wrote: >>> >>> >>>>>>>>>On Wed, 22 Nov 2006 17:26:47 -0500, Bill Moran said: >>>>> >>>>>On Wed, 22 Nov 2006 23:11:59 +0100 >>>>>Andras Horvai <[EMAIL PROTECTED]> wrote: ... >>>>>If I'm understanding this correctly, there's no reason Bacula can't do > > the same > >>>>>thing with file volumes. If it writes an EOF marker every 4G (which > > it seems to, > >>>>>based on your output) it can seek() to the within 4G of the data it > > needs, then > >>>>>it only needs to read() through a maximum of 4G to get the data.
No, because 1) a volume file can be shorten than whatever you set up in case there is no more data to add. At least that's what I assume. >>>>Using EOF markers like that in a file won't work, because there is no > > fast way > >>>>of seeking to an EOF marker (unlike on a tape). and 2), also AFAIK, puting an EOF into a tape file effectively closes the file and thus you couldn't add anything to it. (Sounds like setting a maximum size for a volume :-) There is no data representing an EOF mark in files, that's something only the hardware of a tape drive manages. >>>?? >>> >>>If Bacula knows it's writing a file marker every 4G, why can't it just use >>>fseek() to skip forward? >> >>I was just being pedantic, because it doesn't write anything for the EOF >>marker. > > > Perfectly true, but ... > > Bacula *does* write something every 1GB (by default), and that is a JobMedia > record. This is how Bacula finds and seeks to files quickly on tape. > Unfortunately, the Bacula fseek() code for disk storage does not work in all > cases. I've tried, and after a *lot* of time spent on this I have not found > the problem so I give up as there seem to be many other important tasks to > do. > > As I have explained before on this list, all you need to do is turn on > FILE_SEEK in <bacula>/src/version.h, recompile Bacula and find where the bug > is, then submit a patch. You will know the patch is good when you can run > *all* the disk based regression scripts with FILE_SEEK turned on without any > failures (the last time I tried, yesterday, there were four). > > What I haven't mentioned before is that as a reward, I offer the author of > the > patch not only a big thanks, but a dinner at any restaurant of his choice in > Lausanne, Switzerland (or any city where I happen to be if/when we meet). I > leave it to you to figure out how to get to Lausanne :-) Oh, good, any recommendations what books I should read to get a little understanding of C/C++? I'm quite sure there are some interesting restaurants in Lausanne, or wherever we would meet... ;-) Arno -- IT-Service Lehmann [EMAIL PROTECTED] Arno Lehmann http://www.its-lehmann.de ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users