public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Stephen C. Tweedie" <sct@redhat.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Chris Mason <mason@suse.com>,
	Marcelo Tosatti <marcelo@conectiva.com.br>,
	Alexander Viro <viro@math.psu.edu>,
	Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Stephen Tweedie <sct@redhat.com>
Subject: Re: [PATCH] filemap_fdatasync & related changes
Date: Thu, 4 Jan 2001 18:46:04 +0000	[thread overview]
Message-ID: <20010104184604.A2034@redhat.com> (raw)
In-Reply-To: <428710000.978539866@tiny> <Pine.LNX.4.10.10101031027090.1896-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.10.10101031027090.1896-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Wed, Jan 03, 2001 at 10:28:05AM -0800

hi,

On Wed, Jan 03, 2001 at 10:28:05AM -0800, Linus Torvalds wrote:
> 
> On Wed, 3 Jan 2001, Chris Mason wrote:
> > 
> > Just noticed the filemap_fdatasync code doesn't check the return value from
> > writepage.  Linus, would you take a patch that redirtied the page, puts it
> > back onto the dirty list (at the tail), and unlocks the page when writepage
> > returns 1?
> 
> I don't see how that would help. It's just asking for endless loops.

Ultimately our whole IO-error handling for writes is fundamentally
broken right now, at least at the buffer_head level.  We just don't
have any mechanism in the buffer_head for distinguishing between write
errors and read errors.  If you get a write error, the next reader who
happens upon that buffer will see an invalid buffer and will try to
reread from disk, discarding the newer data from cache that we had
problems writing.

It's less of a problem with the page cache in 2.4 because such a write
error doesn't set the page to being not-uptodate, but the problem is
still there.  If we're going to start trying to be rigorous about
propagating driver write failure notification back up to user space
(eg. for O_SYNC), then ideally we need to do it in conjunction with a
rethink of the end_request() code.

The only reason I've come up against this particular problem recently
is that it impacts journaling filesystems.  It can lead to buffers in
memory suddenly appearing non-uptodate after a write, causing
subsequent reads to submit disk IOs on a buffer which the journaling
code expects to be unlocked.

--Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  parent reply	other threads:[~2001-01-04 18:49 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-28 20:25 test13-pre5 Linus Torvalds
2000-12-28 18:39 ` test13-pre5 Marcelo Tosatti
2000-12-28 20:59   ` test13-pre5 Linus Torvalds
2000-12-28 19:22     ` test13-pre5 Marcelo Tosatti
2000-12-28 21:21       ` [wildly off-topic] test13-pre5 Rik van Riel
2000-12-28 19:31         ` Marcelo Tosatti
2000-12-28 21:39     ` test13-pre5 Daniel Phillips
2000-12-28 22:14     ` test13-pre5 Marcelo Tosatti
2000-12-29  1:10       ` test13-pre5 Linus Torvalds
2000-12-29 12:06       ` test13-pre5 Daniel Phillips
2000-12-28 22:17     ` test13-pre5 Andi Kleen
2000-12-28 22:33       ` test13-pre5 David S. Miller
2000-12-28 22:58         ` test13-pre5 Andi Kleen
2000-12-28 22:54           ` test13-pre5 David S. Miller
2000-12-28 23:17             ` test13-pre5 Andi Kleen
2000-12-28 23:14               ` test13-pre5 David S. Miller
2000-12-28 23:39                 ` test13-pre5 Andi Kleen
2000-12-28 23:25               ` test13-pre5 Rik van Riel
2000-12-28 23:36               ` test13-pre5 Linus Torvalds
2000-12-28 23:03           ` test13-pre5 Rik van Riel
2000-12-29 15:46         ` test13-pre5 Mark Hemment
2000-12-29 16:30           ` test13-pre5 Tim Wright
2000-12-29 17:54             ` test13-pre5 Mark Hemment
2000-12-29 21:23           ` test13-pre5 David S. Miller
2000-12-29 21:51             ` test13-pre5 Linus Torvalds
2000-12-28 23:15       ` test13-pre5 Linus Torvalds
2000-12-28 23:25         ` test13-pre5 Andi Kleen
2000-12-28 23:37           ` test13-pre5 Linus Torvalds
2000-12-28 23:43             ` test13-pre5 Andi Kleen
2000-12-29  0:49             ` test13-pre5 Stefan Traby
2000-12-29  1:23               ` test13-pre5 Linus Torvalds
2000-12-29  1:06                 ` test13-pre5 Albert Cranford
2000-12-29 14:53                   ` test13-pre5 Stefan Traby
2000-12-30 13:24         ` test13-pre5 Geert Uytterhoeven
2000-12-31 17:21           ` test13-pre5 Andi Kleen
2000-12-31 17:27             ` test13-pre5 Linus Torvalds
2000-12-31 17:36               ` test13-pre5 Andi Kleen
2000-12-31 18:19                 ` test13-pre5 Andrea Arcangeli
2000-12-31 18:06               ` test13-pre5 Andi Kleen
2000-12-31 18:07               ` test13-pre5 Matti Aarnio
2000-12-31 19:15                 ` test13-pre5 Linus Torvalds
2000-12-31 19:49                   ` test13-pre5 Andi Kleen
2000-12-31 18:10               ` test13-pre5 Andrea Arcangeli
2001-01-01 19:58           ` test13-pre5 H. Peter Anvin
2000-12-29 16:49     ` [PATCH] filemap_fdatasync & related changes Marcelo Tosatti
2000-12-29 21:13       ` Linus Torvalds
2001-01-03 16:37       ` Chris Mason
2001-01-03 17:07         ` Daniel Phillips
2001-01-03 18:28         ` Linus Torvalds
2001-01-03 19:09           ` Chris Mason
2001-01-03 21:39             ` Chris Wedgwood
2001-01-04 18:46           ` Stephen C. Tweedie [this message]
2001-01-04  9:48         ` Christoph Rohland
2001-01-04 14:41           ` Marcelo Tosatti
2001-01-04 16:58             ` Rik van Riel
2001-01-04 17:38               ` Chris Mason
2001-01-04 18:00                 ` Linus Torvalds
2001-01-04 22:52                   ` Daniel Phillips
2001-01-04 15:30           ` Chris Mason
2001-01-04 17:01             ` Christoph Rohland
2000-12-28 21:27 ` test13-pre5 (via82cxxx_audio.c) Jonathan Hudson
2000-12-29 18:17 ` test13-pre5 Tom Rini

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=20010104184604.A2034@redhat.com \
    --to=sct@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    --cc=mason@suse.com \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    /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