From: Hans Reiser <reiser@idiom.com>
To: "Peter J. Braam" <braam@cs.cmu.edu>
Cc: Andrea Arcangeli <andrea@suse.de>,
"William J. Earl" <wje@cthulhu.engr.sgi.com>,
Tan Pong Heng <pongheng@starnet.gov.sg>,
"Stephen C. Tweedie" <sct@redhat.com>,
"Benjamin C.R. LaHaise" <blah@kvack.org>,
Chris Mason <clmsys@osfmail.isc.rit.edu>,
reiserfs@devlinux.com, linux-fsdevel@vger.rutgers.edu,
linux-mm@kvack.org, Ingo Molnar <mingo@redhat.com>,
Linus Torvalds <torvalds@transmeta.com>,
intermezzo-devel@stelias.com, simmonds@stelias.com
Subject: Re: (reiserfs) Re: RFC: Re: journal ports for 2.3? (resendingbecause my ISP probably lost it)
Date: Thu, 06 Jan 2000 11:34:18 +0300 [thread overview]
Message-ID: <3874538A.67D675D6@idiom.com> (raw)
In-Reply-To: <Pine.LNX.4.02.10001051020180.27314-100000@carissimi.coda.cs.cmu.edu>
Yes, but not before 2.5. Chris and I have already discussed that it would be
nice to make the transaction API available to user space, but we haven't done any
work on it, or even specified the user API. We probably won't even start work on
it for 6 months (unless a sponsor asks for it). We do think it is a good idea.
Hans
"Peter J. Braam" wrote:
> I think I mean joining. What I need is:
>
> braam starts trans
> does A
> calls reiser: hans starts
> does B
> hans commits; nothing goes to disk yet
> braam does C
> braam commits/aborts ABC now go or don't
>
> - Peter -
>
> On Wed, 5 Jan 2000, Hans Reiser wrote:
>
> > Is nesting really the term you mean to use here, or is joining the term you
> > mean?
> >
> > Do you really mean transactions within other transactions?
> >
> > Exactly what functionality do you need?
> >
> > Hans
> >
> > "Peter J. Braam" wrote:
> >
> > > Hi,
> > >
> > > I have one request for the journal API for use by network file systems -
> > > it is a request of a slightly different nature than the ones discussed so
> > > far.
> > >
> > > InterMezzo (www.inter-mezzo.org) exploits an existing disk file system as
> > > a cache and wraps around it. (Any disk file system can be used, but so far
> > > only Ext2 has been exploited.) High availability file systems need update
> > > logs of changes that were made to the cache so that these may be
> > > propagated to peers when they come back online (to support "disconnected
> > > operation").
> > >
> > > Requested feature:
> > > ------------------------------------------------------------------------
> > >
> > > Stephen's journal API has a tremendously useful feature: it allows nesting
> > > of transactions. I don't know if Reiser has this (can you tell me
> > > Chris?) but it is _incredibly_ useful. So:
> > >
> > > - InterMezzo can start a journal transaction
> > > - execute the underlying Ext3 routine within that transaction
> > > (i.e. the Ext3 transaction becomes part of the one started
> > > by InterMezzo)
> > > - InterMezzo finishes its routine (e.g. by noting that an update
> > > took place in its update log) and commits or aborts the transaction
> > >
> > > -------------------------------------------------------------------------
> > >
> > > [So, in particular InterMezzo and Ext3 share the journal transaction log.]
> > >
> > > Why is this useful? There are at least two reasons:
> > >
> > > - the update InterMezzo update log can be kept in sync with the Ext3 file
> > > system as a cache
> > >
> > > - InterMezzo will soon manage somewhat more metadata (e.g. it may want to
> > > remmeber a global file identifier, similar to a Coda FID or NFS file
> > > handle) and it can make updates to its metadata atomically with updates
> > > made to Ext3 metadata.
> > >
> > > Both of these reasons touch the core architectural decisions of systems
> > > like Coda/AFS/InterMezzo/DCE-DFS -- so there is some historical reason to
> > > be so delighted with what one can do with Stephen's API.
> > >
> > > Presently, systems like Coda and AFS have a hell of a time keeping caches
> > > in sync with the metadata and to a large extent Coda's really bad
> > > performance is caused by this (an external transaction system is used in
> > > conjunction with synchronous operations on the disk file system, ouch...).
> > > InterMezzo will start using the kernel journal facility that should be
> > > much lighter weight.
> > >
> > > Is this a reasonable thing to ask for?
> > >
> > > - Peter -
> >
> > --
> > Get Linux (http://www.kernel.org) plus ReiserFS
> > (http://devlinux.org/namesys). If you sell an OS or
> > internet appliance, buy a port of ReiserFS! If you
> > need customizations and industrial grade support, we sell them.
> >
--
Get Linux (http://www.kernel.org) plus ReiserFS
(http://devlinux.org/namesys). If you sell an OS or
internet appliance, buy a port of ReiserFS! If you
need customizations and industrial grade support, we sell them.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.nl.linux.org/Linux-MM/
next prev parent reply other threads:[~2000-01-06 8:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <000c01bf472c$8ad8cb60$8edb1581@isc.rit.edu>
1999-12-21 0:24 ` RFC: Re: journal ports for 2.3? Stephen C. Tweedie
1999-12-21 10:18 ` Andrea Arcangeli
1999-12-21 13:21 ` (reiserfs) " Stephen C. Tweedie
1999-12-21 13:57 ` Andrea Arcangeli
1999-12-22 0:28 ` Stephen C. Tweedie
1999-12-23 11:51 ` Hans Reiser
1999-12-22 23:37 ` Hans Reiser
2000-01-06 17:48 ` Stephen C. Tweedie
2000-01-06 18:20 ` Andrea Arcangeli
2000-01-06 21:32 ` Hans Reiser
2000-01-07 11:51 ` Stephen C. Tweedie
2000-01-07 12:46 ` Andrea Arcangeli
2000-01-07 19:59 ` Hans Reiser
1999-12-22 1:21 ` Benjamin C.R. LaHaise
1999-12-22 22:19 ` Stephen C. Tweedie
1999-12-22 22:41 ` (reiserfs) " Tan Pong Heng
1999-12-23 3:27 ` William J. Earl
1999-12-23 15:36 ` Andrea Arcangeli
1999-12-24 5:53 ` afei
1999-12-26 8:26 ` feiliu
2000-01-02 22:24 ` Peter J. Braam
2000-01-05 13:02 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? (resending because my ISP probably lost it) Hans Reiser
2000-01-05 15:22 ` Peter J. Braam
2000-01-05 15:37 ` Tigran Aivazian
2000-01-06 8:40 ` Hans Reiser
2000-01-05 15:50 ` Chris Mason
2000-01-06 8:34 ` Hans Reiser [this message]
2000-01-07 1:25 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? (resendingbecause my Albert D. Cahalan
2000-01-07 11:37 ` Stephen C. Tweedie
2000-01-06 17:54 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? Stephen C. Tweedie
1999-12-23 12:02 ` Hans Reiser
1999-12-23 15:49 ` Andrea Arcangeli
1999-12-23 16:41 ` Hans Reiser
1999-12-27 16:31 ` Andrea Arcangeli
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=3874538A.67D675D6@idiom.com \
--to=reiser@idiom.com \
--cc=andrea@suse.de \
--cc=blah@kvack.org \
--cc=braam@cs.cmu.edu \
--cc=clmsys@osfmail.isc.rit.edu \
--cc=intermezzo-devel@stelias.com \
--cc=linux-fsdevel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=pongheng@starnet.gov.sg \
--cc=reiserfs@devlinux.com \
--cc=sct@redhat.com \
--cc=simmonds@stelias.com \
--cc=torvalds@transmeta.com \
--cc=wje@cthulhu.engr.sgi.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