[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: CVS update: subversion/notes fs-improvements.txt

From: Karl Fogel <kfogel_at_collab.net>
Date: 2001-04-17 01:15:17 CEST

So Karl checks it in with a log message saying "Don't read this yet,
it's just for Ben to read on the train because he has to go now", and
Greg comments on excerpts to the dev list anyway.

Don't worry, I'm not actually bothered, just amused. :-)

I think some of your comments may be addressed in revisions I just
committed, Greg. Not that you should read those yet either, like the
log messages say. :-)

Greg Stein <gstein@lyra.org> writes:
> On Mon, Apr 16, 2001 at 10:30:38PM -0000, kfogel@tigris.org wrote:
> >...
> > a) File contents need to be moved into a separate table.
> > ========================================================
> >
> > There will be a new table, `strings'. The keys will simply be numbers
> > (or whatever -- the point is, they're not node rev IDs), and the
> > values are, well, a string.
>
> This would be a "RECNO" database in DB terms.
>
> > c) Operate on portions of files efficiently.
> > ============================================
> >
> > You're gonna love Berkeley DB even more after this, if that were
> > possible... The basic story is, you tell your DBT you're only
> > interested in a substring of the record, and then do everything else
> > in the usual way. Here's how:
> >
> > dbt->flags |= DB_DBT_PARTIAL
> > dbt->doff = some_offset;
> > dbt->dlen = some_length;
> >
> > If it's a read operation, Berkeley will read the specified range. If
> > some of those bytes don't exist, the read will still succeed, and null
> > bytes will be returned for the absent ones. This is good for reading
> > into a fixed-size window, I guess -- cleanses the unused portion
> > automatically for you. Heh.
> >
> > If it's a write operation, and dbt->size != dbt->dlen, then that range
> > of the record will grow or shrink accordingly. See
> > http://www.sleepycat.com/docs/ref/am/partial.html for details.
>
> mod_dav_svn can usually tell the FS when it wants to read the whole thing,
> versus a sequence of seek/read operations. That can allow the FS to tweak
> its operation accordingly. (of course, on a "read entire", it will still
> want to do PARTIAL gets of some specified size)
>
> Same for writes. We can tell the FS, "I'm going to write the whole darned
> file", or "I'm going to write N bytes at offset O (which may extend the
> file, but never shrink)."
>
> Cheers,
> -g
>
> --
> Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:28 2006

This is an archived mail posted to the Subversion Dev mailing list.