All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Alexander Viro <viro@math.psu.edu>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] SMP race in ext2 - metadata corruption.
Date: Fri, 27 Apr 2001 02:05:24 +0200	[thread overview]
Message-ID: <20010427020524.A678@athlon.random> (raw)
In-Reply-To: <20010426230751.J819@athlon.random> <Pine.GSO.4.21.0104261924080.15385-100000@weyl.math.psu.edu>
In-Reply-To: <Pine.GSO.4.21.0104261924080.15385-100000@weyl.math.psu.edu>; from viro@math.psu.edu on Thu, Apr 26, 2001 at 07:25:23PM -0400

On Thu, Apr 26, 2001 at 07:25:23PM -0400, Alexander Viro wrote:
> 
> 
> On Thu, 26 Apr 2001, Andrea Arcangeli wrote:
> 
> > > How about adding
> > > 	if (!buffer_uptodate(bh)) {
> > > 		printk(KERN_ERR "IO error or racy use of wait_on_buffer()");
> > > 		show_task(current);
> > > 	}
> > > in the end of wait_on_buffer() for a while?
> > 
> > At the _top_ of wait_on_buffer would be better then at the end.
> 
> In that case ll_rw_block() + wait_on_buffer() (absolutely legitimate
> combination) will scream at you.

--- 2.4.4pre7/include/linux/locks.h	Thu Apr 26 05:22:11 2001
+++ 2.4.4pre7aa1/include/linux/locks.h	Fri Apr 27 01:52:31 2001
@@ -18,6 +18,11 @@
 {
 	if (test_bit(BH_Lock, &bh->b_state))
 		__wait_on_buffer(bh);
+	else if (!buffer_uptodate(bh)) {
+		__label__ here; 
+	here:
+		printk(KERN_ERR "IO error or racy use of wait_on_buffer() from %p\n", &&here);
+	}
 }
 
 extern inline void lock_buffer(struct buffer_head * bh)

Andrea

  reply	other threads:[~2001-04-27  0:10 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-26 15:45 [PATCH] SMP race in ext2 - metadata corruption Alexander Viro
2001-04-26 18:12 ` Andrea Arcangeli
2001-04-26 18:24   ` Alexander Viro
2001-04-26 19:00     ` Chris Mason
2001-04-26 18:49   ` Linus Torvalds
2001-04-26 19:08     ` Alexander Viro
2001-04-26 19:17       ` Alexander Viro
2001-04-26 20:06         ` Andrea Arcangeli
2001-04-26 19:15     ` Andrea Arcangeli
2001-04-26 19:34       ` Alexander Viro
2001-04-26 19:44         ` Andrea Arcangeli
2001-04-26 19:55           ` Alexander Viro
2001-04-26 20:08             ` Linus Torvalds
2001-04-26 20:21               ` Andrea Arcangeli
2001-04-26 20:49               ` Alexander Viro
2001-04-26 21:07                 ` Andrea Arcangeli
2001-04-26 23:25                   ` Alexander Viro
2001-04-27  0:05                     ` Andrea Arcangeli [this message]
2001-04-27  0:19                       ` Linus Torvalds
2001-04-27  0:35                         ` Andrea Arcangeli
2001-04-26 21:13               ` Andrzej Krzysztofowicz
2001-04-27 18:02                 ` LA Walsh
2001-04-27 18:17                   ` dek_ml
2001-04-27  7:58               ` Vojtech Pavlik
2001-04-27 13:23                 ` Alexander Viro
2001-04-27 14:32                   ` Ville Herva
2001-04-27 16:52                 ` Linus Torvalds
2001-04-27 19:22                   ` Shane Wegner
2001-04-28  4:55                   ` Albert D. Cahalan
2001-04-28 10:05                     ` Jens Axboe
2001-04-27 14:29               ` Andi Kleen
2001-05-03  6:23               ` volodya
2001-05-03  9:29                 ` Alan Cox
2001-05-03 17:21                   ` Linus Torvalds
2001-05-04 11:40                     ` Rogier Wolff
2001-05-04 11:56                       ` Jens Axboe
2001-05-04 15:29                         ` Andrea Arcangeli
2001-05-04 17:40                           ` Linus Torvalds
2001-05-05  3:18                           ` Chris Wedgwood
2001-05-06  0:37                             ` Andrea Arcangeli
2001-05-06  2:14                               ` Chris Wedgwood
2001-05-06  2:50                                 ` Andrea Arcangeli
2001-05-06  3:00                                   ` Chris Wedgwood
2001-05-06  3:15                                     ` Alexander Viro
2001-05-06  3:32                                       ` Chris Wedgwood
2001-05-06  3:59                                         ` Alexander Viro
2001-05-06 12:47                                           ` Alan Cox
2001-05-06 19:46                                             ` Andreas Dilger
2001-05-06 20:58                                               ` Alan Cox
2001-05-07  4:08                                                 ` Andreas Dilger
2001-05-07 18:42                                           ` Pavel Machek
2001-05-11 14:54                                             ` Daniel Phillips
2001-05-18 14:46                                               ` Stephen C. Tweedie
2001-05-11 20:00                                             ` Alexander Viro
2001-05-06  3:38                                     ` Andreas Dilger
2001-05-06  3:51                                     ` Andrea Arcangeli
2001-05-04 12:15                       ` Marc SCHAEFER
2001-05-04 17:28                       ` Linus Torvalds
2001-05-04 17:39                         ` Alexander Viro
2001-05-04 17:55                           ` Linus Torvalds
2001-05-04 18:29                             ` Alexander Viro
2001-05-04 19:13                               ` Linus Torvalds
2001-05-05 11:20                               ` Albert D. Cahalan
2001-05-05 17:11                                 ` Alexander Viro
2001-05-04 18:20                         ` Richard Gooch
2001-05-04 18:35                           ` Alexander Viro
2001-05-04 18:49                             ` Richard Gooch
2001-05-04 19:15                               ` Alexander Viro
2001-05-04 19:36                                 ` Richard Gooch
2001-05-04 19:58                                   ` Alexander Viro
2001-05-04 20:04                                     ` Richard Gooch
2001-05-04 19:04                           ` Jens Axboe
2001-05-05 13:52                           ` Rogier Wolff
2001-05-05 18:12                             ` Richard Gooch
2001-05-08 13:46                           ` volodya
2001-05-09 10:30                             ` Helge Hafting
2001-05-04 21:11                         ` Alan Cox
2001-05-04 21:50                           ` Linus Torvalds
2001-04-26 20:11             ` Andrea Arcangeli
2001-04-26 20:14               ` Andrea Arcangeli
2001-04-26 20:26               ` Linus Torvalds
2001-04-26 21:16                 ` Andrea Arcangeli
2001-04-26 20:42         ` Richard B. Johnson
2001-04-26 20:55           ` Alexander Viro
2001-04-27 11:43             ` Richard B. Johnson
2001-04-26 19:39       ` Andrea Arcangeli
     [not found] <Pine.LNX.4.21.0104270953280.2067-100000@penguin.transmeta.com>
2001-04-27 17:36 ` Jeff Garzik
     [not found] ` <3AE9A69B.D11F0BBD@evision-ventures.com>
2001-04-28  8:31   ` Matthias Urlichs
2001-04-28 13:20   ` Olaf Titz
2001-04-30  8:47 ` Neil Conway

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=20010427020524.A678@athlon.random \
    --to=andrea@suse.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --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 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.