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:
> > > >
> > > > > What does VolFiles mean? I didn't find it in the documentation.
> > > > 
> > > > I've been wondering about that.  I wish one of the developers would 
chime in here.
> > > > 
> > > > I seem to remember that a trick used on tape drives is to write an EOF 
marker every
> > > > so often, then when restoring, the drive can quickly seek X EOF 
markers ahead before
> > > > it has to slow down to read through the data.
> > > > 
> > > > 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.
> > > 
> > > 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).
> > 
> > ??
> > 
> > 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 :-)

Regards,

Kern

> 
> __Martin
> 
> 
> > > However, it is easier than that: Bacula could seek directly to the right 
place
> > > in the file.  IIRC, there is some code to do that but it was disabled 
because
> > > it didn't quite work.
> > 
> > Well, that's an obvious problem ...
> > 
> 
> -------------------------------------------------------------------------
> 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
> 

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

Reply via email to