All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: Lars Marowsky-Bree <lmb@suse.de>
Cc: Reiserfs List <reiserfs-list@namesys.com>
Subject: Re: reiser4 data journalling?
Date: Wed, 03 Sep 2003 02:17:50 +0400	[thread overview]
Message-ID: <3F55170E.1080603@namesys.com> (raw)
In-Reply-To: <20030829131250.GU24767@marowsky-bree.de>

Lars Marowsky-Bree wrote:

>On 2003-08-28T20:18:14,
>   Tom Vier <tmv@comcast.net> said:
>
>  
>
>>and shell builtins would have to be modded to insure page alignment. it
>>would be neat if all the regular builtins (cp, mv, ln) were atomic.
>>    
>>
>
>mv (ie, rename), ln and rm have always been atomic. That's a POSIX
>requirement.
>
Programs that need atomicity find it inconvenient that only one mv, or 
one ln, and or one rm, or one 4k write of a block, are atomic operations.

>The new thing with reiserfs4 seems to be that if you do a write of, say,
>1M size in the atomic way, 
>

>another reading process will either see all
>of the write or none of the write to have taken place.
>
No, isolation is not yet implemented and won't be unless we come up with 
some more funding from somewhere.  The txnmgr seems to be structured to 
handle isolation, but....

The new thing with reiser4 is that if you do that write of 1MB to a 
file, and perhaps updates to 63 other files as well, as part of an atom, 
it will either all survive a crash, or none of it will.  We have 
considered using the term "transcrash" for this.

>(Right now, you could see a 'partial' read, where some pages from the
>write have been written already while others return the old data.)
>
>And apparently, you can say "begin transaction" and "commit / abort
>transaction" to achieve the same for multiple operations as a group.
>
>Hans, does that support nested transactions, too?
>
>And one thing has slipped from my mind: How do I enter a transaction? is
>it like chroot(), or a task-specific thing, how can child processes
>participate in the transaction etc?
>
>
>Sincerely,
>    Lars Marowsky-Brée <lmb@suse.de>
>
>  
>


-- 
Hans



  reply	other threads:[~2003-09-02 22:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-28 17:25 reiser4 data journalling? Tupshin Harper
2003-08-28 17:42 ` Nikita Danilov
2003-08-28 20:48   ` Hans Reiser
2003-08-29  0:18     ` Tom Vier
2003-08-29  0:21       ` Hans Reiser
2003-08-29  1:23         ` Mike Fedyk
2003-08-29  5:08           ` Oleg Drokin
2003-08-29 17:48             ` Hans Reiser
2003-08-29 18:15               ` Nikita Danilov
2003-08-29 18:17                 ` Nikita Danilov
2003-08-29 21:43                 ` Hans Reiser
2003-08-29 21:56                   ` system_lists
2003-08-30 18:22                   ` Andi Kleen
2003-09-02 22:21                     ` Hans Reiser
2003-09-03  2:05                       ` Tom Vier
2003-08-29 21:47           ` Hans Reiser
2003-08-29 13:12       ` Lars Marowsky-Bree
2003-09-02 22:17         ` Hans Reiser [this message]
2003-09-03 10:52           ` Lars Marowsky-Bree
2003-09-03 16:56             ` Hans Reiser

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=3F55170E.1080603@namesys.com \
    --to=reiser@namesys.com \
    --cc=lmb@suse.de \
    --cc=reiserfs-list@namesys.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.