From: Hans Reiser <reiser@namesys.com>
To: Tom Lord <lord@regexps.com>
Cc: andrew@pimlott.ne.mediaone.net, lm@work.bitmover.com,
Geert.Uytterhoeven@sonycom.com, james@and.org, lm@bitmover.com,
jaharkes@cs.cmu.edu, linux-kernel@vger.kernel.org
Subject: Re: filesystem transactions (was Re: linux-2.5.4-pre1 - bitkeeper testing)
Date: Thu, 14 Mar 2002 11:26:12 +0300 [thread overview]
Message-ID: <3C905EA4.3050906@namesys.com> (raw)
In-Reply-To: <20020312223738.GB29832@pimlott.ne.mediaone.net> <Pine.GSO.4.21.0203131037240.17582-100000@vervain.sonytel.be> <20020313143720.GA32244@pimlott.ne.mediaone.net> <20020313082647.Y23966@work.bitmover.com> <20020313163045.GA6575@pimlott.ne.mediaone.net> <3C8FA608.6040103@namesys.com> <200203140939.BAA14739@morrowfield.home>
Tom Lord wrote:
>On this thread, you (Hans) seem to be referring to some plan you have
>for putting versioning functionality in the filesystem and that you
>think this somehow gives you (at least significant parts of) revision
>control nearly for free. It isn't clear from just the messages in
>this thread exactly what plan for versioning you have in mind.
>
>It's an interesting topic, though. Is there a document available that
>actually specifies what you have in mind?
>
>Leaving aside the question of remote access, a useful filesystem
>primitive for revision control would be the ability to quickly create
>copy-on-write clones of trees (much like the Subversion model, but as
>a true file system, and without the need to store modified files as
>diffs).
>
>One could do that reasonably well entirely in user space in a portable
>way by using `link(2)' to create the clones and imposing a layer
>between libc `open(2)' and the kernel call, though every program on
>the system would have to be linked with that special version of
>`open'. An in-kernel implementation would have the slight advantages
>that it wouldn't require a special version of `open' and could,
>perhaps, at the cost of some complexity, create clone trees more
>cheaply when the expected case is that large subtrees will never be
>modified in either the original or the copy.
>
>Another user-space approach, less successful at creating clones
>quickly but portable, venerable, and not requiring a special version
>of `open' is to make the clones read-only and create them with a
>program that copies modified files, but links unmodified files to
>their identical ancestors in earlier clones.
>
>One can also do cheap tree cloning reasonably well using directory
>stacks and an automounter: a solution based on kernel primitives with
>no particular impact on the representation of the filesystem on disk,
>implementable at a higher level and compatible with all underlying
>disk representations.
>
>Of course, automated file backups of the sort described in this thread
>for VMS, are not particularly helpful for revision control.
>
>Finally, if clones really are cheap to create, that gives us an 80%
>solution for generalized filesystem transactions. Adding the ability
>to do page-based copy-on-write for individual files gives us 90%. Put
>cheap and well designed user-defined name-spaces in combination
>with those features, and we can watch Oracle fall down and go boom.
>
>None of these approaches I've mentioned require anything special from
>the filesystem representation on disk. There would be a severe
>portability problem and performance limitations to any approach that
>does rely on a particular filesystem representation.
>
>So, what exactly is your plan?
>
>-t
>
>
Since reiser4 is in feature freeze, let's defer this thread until
October, ok? It will be a long one I think.....
Hans
next prev parent reply other threads:[~2002-03-14 8:26 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-06 7:33 linux-2.5.4-pre1 - bitkeeper testing Jeramy B. Smith
2002-02-06 15:15 ` Florian Weimer
2002-02-07 16:50 ` Jan Harkes
2002-02-07 23:06 ` Tom Lord
2002-02-07 21:23 ` Daniel Phillips
2002-02-08 1:02 ` Tom Lord
2002-02-07 21:23 ` Paul P Komkoff Jr
2002-02-07 21:28 ` Larry McVoy
2002-02-07 21:25 ` Larry McVoy
2002-02-08 2:32 ` Tom Lord
2002-02-08 15:33 ` Pavel Machek
2002-02-08 21:35 ` Larry McVoy
2002-02-11 8:20 ` Josh MacDonald
2002-02-11 15:00 ` Larry McVoy
2002-02-11 20:25 ` Pavel Machek
2002-02-11 22:14 ` Larry McVoy
2002-02-12 5:17 ` Tom Lord
2002-02-12 3:59 ` Theodore Tso
2002-02-12 6:19 ` Bernd Eckenfels
2002-02-12 20:28 ` Tom Lord
2002-02-12 22:54 ` Larry McVoy
2002-02-13 0:52 ` Daniel Phillips
2002-02-13 9:41 ` Tom Lord
2002-02-13 10:35 ` Roman Zippel
2002-02-12 11:01 ` Josh MacDonald
2002-02-12 11:15 ` Jeff Garzik
2002-02-18 18:10 ` Eric W. Biederman
2002-03-10 8:36 ` Hans Reiser
2002-03-10 19:41 ` Itai Nahshon
2002-03-10 20:19 ` Hans Reiser
2002-03-10 21:16 ` Rob Turk
2002-03-10 21:34 ` Alan Cox
2002-03-10 21:23 ` Rik van Riel
2002-03-11 8:22 ` Hans Reiser
2002-03-10 21:28 ` Alexander Viro
2002-03-11 11:04 ` Mark H. Wood
2002-03-11 9:46 ` Harald Arnesen
2002-03-10 21:37 ` Richard Gooch
2002-03-11 5:48 ` Hans Reiser
2002-03-11 5:52 ` Alexander Viro
2002-03-11 6:15 ` Hans Reiser
2002-03-11 6:37 ` Alexander Viro
2002-03-11 6:42 ` Richard Gooch
2002-03-11 13:13 ` yodaiken
2002-03-11 15:51 ` Hans Reiser
2002-03-11 16:08 ` yodaiken
2002-03-11 16:56 ` Hans Reiser
2002-03-11 22:51 ` James Antill
2002-03-12 7:58 ` Hans Reiser
2002-03-12 22:37 ` Andrew Pimlott
2002-03-13 8:09 ` Hans Reiser
2002-03-13 15:10 ` Andrew Pimlott
2002-03-13 9:39 ` Geert Uytterhoeven
2002-03-13 14:37 ` Andrew Pimlott
2002-03-13 16:26 ` Larry McVoy
2002-03-13 16:30 ` Andrew Pimlott
2002-03-13 19:18 ` Hans Reiser
2002-03-14 9:39 ` filesystem transactions (was Re: linux-2.5.4-pre1 - bitkeeper testing) Tom Lord
2002-03-14 8:26 ` Hans Reiser [this message]
2002-03-14 10:31 ` Eric W. Biederman
2002-03-11 14:05 ` linux-2.5.4-pre1 - bitkeeper testing Luigi Genoni
2002-03-11 10:46 ` Mark H. Wood
2002-03-11 11:32 ` Hans Reiser
2002-03-11 15:29 ` Steven Cole
2002-03-11 16:08 ` Hans Reiser
2002-03-11 16:25 ` Steven Cole
2002-03-11 17:08 ` Hans Reiser
2002-03-11 17:16 ` Nikita Danilov
2002-03-11 18:22 ` VMS File versions (was RE: linux-2.5.4-pre1 - bitkeeper testing) Robert Pfister
2002-03-11 18:41 ` linux-2.5.4-pre1 - bitkeeper testing Steven Cole
2002-03-11 19:15 ` Hans Reiser
2002-03-11 21:33 ` Steven Cole
2002-03-11 21:54 ` Richard B. Johnson
2002-03-11 22:01 ` Richard B. Johnson
2002-03-11 22:19 ` Steven Cole
2002-03-12 0:14 ` Robert Pfister
2002-03-12 7:54 ` linux-2.5.4-pre1 - bitkeeper testing (If you don't like the closed source nature of Bitkeeper, stop your whining and help out with reiserfs.) Hans Reiser
2002-03-12 1:28 ` linux-2.5.4-pre1 - bitkeeper testing Mark H. Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3C905EA4.3050906@namesys.com \
--to=reiser@namesys.com \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=andrew@pimlott.ne.mediaone.net \
--cc=jaharkes@cs.cmu.edu \
--cc=james@and.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lm@bitmover.com \
--cc=lm@work.bitmover.com \
--cc=lord@regexps.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox