From: Andrew Morton <akpm@zip.com.au>
To: Chris Mason <mason@suse.com>
Cc: Hans Reiser <reiser@namesys.com>,
Joshua Schmidlkofer <menion@srci.iwpsd.org>,
kernel <linux-kernel@vger.kernel.org>,
"Gryaznova E." <grev@namesys.botik.ru>,
"Vladimir V. Saveliev" <monstr@namesys.com>
Subject: Re: ReiserFS / 2.4.6 / Data Corruption
Date: Tue, 31 Jul 2001 01:47:25 +1000 [thread overview]
Message-ID: <3B65818D.13AA5A1D@zip.com.au> (raw)
In-Reply-To: <272900000.996506656@tiny>
Chris Mason wrote:
>
> On Saturday, July 28, 2001 03:28:05 AM +1000 Andrew Morton
> <akpm@zip.com.au> wrote:
>
> [ patch to trigger data writes before commit in reiserfs ]
>
> >
> > There's no disruption to disk format - it just simulates
> > the user typing `sync' at the right time. I think the
> > concept is sound, and I'm sure Chris can find a more efficient
> > way...
>
> Well, its gets points for simplicity ;-)
Well, I tried system("/bin/sync"); but that didn't link.
> What I think we need is for commit_write to put new buffers a per super
> list of new buffers, and then the journal code can flush that list on
> commit.
whee. Now there's an idea - If the fs keeps track of all its inodes
then you can traverse those and flush out the i_dirty_buffers ring
on each one.
writepage() output is a problem, but that never sits well with
journalling. I guess one could do fdatasync/fdatawait against
the same list of inodes.
> Since all the filesystems already mark things BH_New, it seems a good
> choice to let commit_write look for BH_New buffers and put them on this new
> list. But, the only place BH_New seems to get cleared right now is
> unmap_buffer, which only gets called from block_flushpage.
>
> Is there any reason we can't just clear BH_New before writing the buffer
> out? It looks like a bug to leave it set the way we do now.
I think it can be cleared as soon as the get_block() caller has looked at
it, actually. test_and_clear_bit. The lifecycle of the various buffer_head
fields is exhasperatingly fluffy.
I'd be reluctant to add another eight bytes to buffer_head though.
It's 96 now, which is a nice number. b_inode can go - it's just
a boolean. b_size and b_list can be crunched into a single byte..
How about just doing it via the inodes?
-
next prev parent reply other threads:[~2001-07-30 15:41 UTC|newest]
Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-30 15:24 ReiserFS / 2.4.6 / Data Corruption Chris Mason
2001-07-30 15:47 ` Andrew Morton [this message]
2001-07-30 16:04 ` Chris Mason
-- strict thread matches above, loose matches on Subject: below --
2001-07-27 15:13 Cress, Andrew R
[not found] <no.id>
2001-07-27 13:27 ` Alan Cox
2001-07-27 13:38 ` bvermeul
2001-07-27 13:39 ` Alan Cox
2001-07-27 13:47 ` bvermeul
2001-07-27 13:49 ` Alan Cox
2001-07-28 14:16 ` Matthew Gardiner
2001-08-08 18:42 ` Stephen C. Tweedie
2001-07-27 14:16 ` Philip R. Auld
2001-07-27 14:38 ` Jordan
2001-07-27 14:51 ` Hans Reiser
2001-07-27 15:12 ` Philip R. Auld
2001-07-27 14:23 ` Hans Reiser
2001-07-27 14:21 ` Alan Cox
2001-07-28 14:18 ` Matthew Gardiner
2001-07-28 16:25 ` Alan Cox
2001-07-29 10:15 ` Matthew Gardiner
2001-07-29 11:10 ` Chris Wedgwood
2001-07-29 14:28 ` Luigi Genoni
2001-07-29 11:16 ` Christoph Hellwig
2001-07-27 15:06 ` Alan Cox
2001-07-27 15:26 ` Joshua Schmidlkofer
2001-07-27 15:46 ` Hans Reiser
2001-07-27 17:46 ` Christoph Rohland
2001-07-27 18:02 ` Hans Reiser
2001-07-27 18:10 ` Dustin Byford
2001-07-27 19:20 ` Hans Reiser
2001-07-28 16:10 ` Henning P. Schmiedehausen
2001-07-27 15:31 ` Hans Reiser
2001-07-27 16:25 ` Kip Macy
2001-07-27 17:29 ` Ville Herva
2001-07-27 17:40 ` Alan Cox
2001-07-27 17:43 ` Ville Herva
2001-07-27 20:46 ` Lehmann
2001-07-27 21:13 ` Hans Reiser
2001-07-27 15:51 ` Alan Cox
2001-07-27 16:41 ` Hans Reiser
2001-07-27 16:55 ` Alan Cox
2001-07-27 21:24 ` Alan Cox
2001-07-27 21:47 ` Hans Reiser
2001-07-27 22:10 ` Alan Cox
2001-07-28 7:36 ` Hans Reiser
2001-07-28 14:08 ` Chris Mason
2001-07-18 4:14 Sam Thompson
2001-07-18 5:18 ` Steve Kieu
2001-07-18 16:22 ` Erik Mouw
2001-07-19 2:02 ` Steve Kieu
2001-07-19 13:28 ` Hans Reiser
2001-07-19 15:50 ` Erik Mouw
2001-07-27 12:52 ` bvermeul
2001-07-27 12:55 ` Hans Reiser
2001-07-27 13:24 ` bvermeul
2001-07-27 14:18 ` Joshua Schmidlkofer
2001-07-27 14:55 ` Hans Reiser
2001-07-27 15:02 ` Chris Wedgwood
2001-07-27 16:06 ` Henning P. Schmiedehausen
2001-07-27 22:02 ` Luigi Genoni
2001-07-28 13:45 ` Matthew Gardiner
2001-07-28 16:15 ` Hans Reiser
2001-07-28 16:45 ` Marcus Meissner
2001-07-28 16:45 ` Christoph Hellwig
2001-07-29 10:19 ` Matthew Gardiner
2001-07-29 11:04 ` Chris Wedgwood
2001-07-30 10:08 ` Hans Reiser
2001-07-30 19:06 ` Christoph Hellwig
2001-07-30 20:30 ` Hans Reiser
2001-07-30 20:49 ` Christoph Hellwig
2001-07-30 21:05 ` Hans Reiser
2001-07-30 21:29 ` Christoph Hellwig
2001-07-30 21:44 ` Hans Reiser
2001-07-30 21:48 ` Hans Reiser
2001-07-30 21:57 ` Chris Wedgwood
2001-07-30 21:58 ` Christoph Hellwig
2001-07-31 7:45 ` Henning P. Schmiedehausen
2001-07-31 9:55 ` Hans Reiser
2001-07-31 10:24 ` Arjan van de Ven
2001-07-31 10:24 ` Anders Eriksson
2001-07-31 10:32 ` Chris Wedgwood
2001-07-30 21:59 ` Rik van Riel
2001-07-30 22:34 ` Hans Reiser
2001-07-31 11:34 ` David Weinehall
2001-07-30 22:41 ` Kip Macy
2001-07-30 22:50 ` Christoph Hellwig
2001-07-30 21:13 ` Hans Reiser
2001-07-30 21:21 ` Hans Reiser
2001-07-30 21:49 ` Christoph Hellwig
2001-07-31 2:34 ` Andrew Morton
2001-07-30 22:04 ` Rik van Riel
2001-07-30 22:36 ` Hans Reiser
2001-07-30 22:53 ` Rik van Riel
2001-07-30 23:12 ` Hans Reiser
2001-07-31 10:32 ` Chris Wedgwood
2001-07-31 10:59 ` Hans Reiser
2001-07-31 11:42 ` Chris Wedgwood
2001-07-31 13:41 ` Chris Mason
2001-07-31 15:15 ` Chris Wedgwood
2001-07-31 15:58 ` Chris Mason
2001-07-31 15:22 ` Hans Reiser
2001-07-31 15:49 ` Chris Mason
2001-07-31 22:08 ` Jussi Laako
2001-07-31 22:32 ` Dan Hollis
2001-07-31 23:45 ` Chris Wedgwood
2001-08-01 16:23 ` Andreas Dilger
2001-08-02 13:44 ` Pavel Machek
2001-07-27 15:06 ` Daniel Phillips
2001-07-27 15:33 ` Hans Reiser
2001-07-27 16:30 ` Daniel Phillips
2001-07-27 15:07 ` Chris Wedgwood
2001-07-27 16:39 ` Andrew Morton
2001-07-27 16:57 ` Hans Reiser
2001-07-27 17:28 ` Andrew Morton
2001-07-27 17:45 ` Hans Reiser
2001-07-27 17:10 ` Steve Lord
2001-07-27 14:48 ` Hans Reiser
2001-07-27 15:04 ` bvermeul
2001-07-27 15:38 ` Hans Reiser
2001-07-27 17:29 ` Eric W. Biederman
2001-07-27 18:47 ` bvermeul
2001-07-27 19:22 ` Hans Reiser
2001-07-28 6:19 ` bvermeul
2001-07-28 7:39 ` Hans Reiser
2001-07-27 19:30 ` Jussi Laako
2001-07-28 6:21 ` bvermeul
2001-07-27 21:49 ` Daniel Phillips
2001-07-27 20:49 ` Lehmann
2001-07-28 14:13 ` Matthew Gardiner
2001-07-28 14:40 ` bvermeul
2001-07-18 9:42 ` Hans Reiser
[not found] ` <3B5579E7.5090107@namesys.com>
2001-07-18 16:26 ` Sam Thompson
2001-07-18 16:34 ` Hans Reiser
2001-07-18 13:09 ` Andre Pang
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=3B65818D.13AA5A1D@zip.com.au \
--to=akpm@zip.com.au \
--cc=grev@namesys.botik.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=mason@suse.com \
--cc=menion@srci.iwpsd.org \
--cc=monstr@namesys.com \
--cc=reiser@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).