public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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



  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