public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Fedyk <mfedyk@matchmail.com>
To: linux-kernel@vger.kernel.org
Subject: Re: ReiserFS data corruption in very simple configuration
Date: Sun, 30 Sep 2001 20:38:31 -0700	[thread overview]
Message-ID: <20010930203831.A25387@mikef-linux.matchmail.com> (raw)
In-Reply-To: <200109221000.GAA11263@out-of-band.media.mit.edu> <15276.34915.301069.643178@beta.reiserfs.com> <20010925131304.I23320@mikef-linux.matchmail.com> <20010926154311.C12560@redhat.com>
In-Reply-To: <20010926154311.C12560@redhat.com>

Hi,

On Wed, Sep 26, 2001 at 03:43:11PM +0100, Stephen C. Tweedie wrote:
> On Tue, Sep 25, 2001 at 01:13:04PM -0700, Mike Fedyk wrote:
> > If you have data journaling, does that mean there is a possability of
> > recovering a complete file -before- it was written?  i.e:
> 
> > echo a > test;
> > sync;
> > cat picture.tif > test
> > (writing in progress, only partially in journal)
> > power off
>  
> > Will "a" be in test upon recovery?
> 
> If you are using full data journaling (ext3's "journal" data mode) or
> the default "ordered" data mode, then no, you never see such
> behaviour.
>

At this point, it looks like I'm going to get a partial picture.tif in test
after recovery...

> In the ordered mode, it achieves this precisely because it is keeping
> a record of which blocks have been committed (or, more accurately,
> which *deleted* blocks have had the delete committed).  If you do a
> "cat > file", then before the new data is written, the file gets
> truncated and all its old data blocks deleted.  ext3 will then refuse
> to reuse those blocks until the delete has been committed, so if we
> crash and end up rolling back the delete transaction, we'll never see
> new data blocks in the old file.
>

Now, it looks like I'll end up with "a" in test...  

>From what you're describing, it looks like the contents of test after a
truncate won't be overwritten by another transaction until the deletion of
those blocks has made it to disk...  So, while in ordered, or journal mode,
I'd end up with "a" in test, but with writeback mode there is no such
guarantee.

Am I missing something?

Are there any known cases where ext3 will not be able to recover pervious
data when a write wasn't able to complete?

> Cheers,
>  Stephen

Mike

  reply	other threads:[~2001-10-01  3:38 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-22 10:00 ReiserFS data corruption in very simple configuration foner-reiserfs
2001-09-22 12:47 ` Nikita Danilov
2001-09-22 20:44   ` foner-reiserfs
2001-09-25 13:28     ` Stephen C. Tweedie
2001-09-29  4:44       ` Lenny Foner
2001-09-29 12:52         ` [reiserfs-list] " Lehmann 
2001-10-01  1:00           ` foner-reiserfs
2001-10-01  1:26             ` Lehmann 
2001-10-01  2:32               ` foner-reiserfs
2001-10-03 16:28               ` Toby Dickenson
2001-10-01 11:30         ` Stephen C. Tweedie
2001-09-24  9:25   ` [reiserfs-list] " Jens Benecke
2001-10-14 14:52     ` Chris Mason
2001-10-14 18:19       ` Jens Benecke
2001-10-14 20:04         ` Hans Reiser
2001-10-14 23:32         ` Bernd Eckenfels
2001-09-25 20:13   ` Mike Fedyk
2001-09-26 14:43     ` Stephen C. Tweedie
2001-10-01  3:38       ` Mike Fedyk [this message]
2001-10-03 16:14         ` Stephen C. Tweedie
2001-10-01 15:27 ` Hans Reiser
2001-10-03 16:17   ` Stephen C. Tweedie
2001-10-03 20:06     ` Pascal Schmidt
2001-10-04 11:02       ` Stephen C. Tweedie

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=20010930203831.A25387@mikef-linux.matchmail.com \
    --to=mfedyk@matchmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /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