linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Al Viro <viro@ftp.linux.org.uk>
To: Linus Torvalds <torvalds@osdl.org>
Cc: David Zeuthen <david@fubar.dk>, Kay Sievers <kay.sievers@suse.de>,
	Pekka J Enberg <penberg@cs.Helsinki.FI>, Greg KH <gregkh@suse.de>,
	Adrian Bunk <bunk@stusta.de>, Robert Love <rml@novell.com>,
	Andrew Morton <akpm@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	John Stultz <johnstul@us.ibm.com>
Subject: Re: 2.6.16-rc4: known regressions
Date: Wed, 22 Feb 2006 17:51:31 +0000	[thread overview]
Message-ID: <20060222175131.GC27946@ftp.linux.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.0602220848280.30245@g5.osdl.org>

On Wed, Feb 22, 2006 at 09:08:47AM -0800, Linus Torvalds wrote:
> >  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=175998
> 
> So the kernel obviously shouldn't be just randomly changing the type 
> numbers around. 

> The _real_ bug seems to be that some people think it is OK to do this kind 
> of user-visible changes, without even considering the downstream, or 
> indeed, without even telling anybody else (like Andrew or me) about it.

That's not quite true...

Some background: sbp2 took SCSI devices of type 14 (very reduced and slightly
incompatible version of "SCSI disk", fairly common for external disks) and
forcibly marked them as type 0.  Since sd.c had no way to tell whether it's
dealing with normal SCSI disk or with RBC one, it was unable to tell how
to find out whether the cache on that disk is write-through or write-behind
(that being one of the incompatibilities).

That leads to actual data corruption on reboot, BTW - some of these guys
simply lose the contents of cache at that.

Obvious fix?  Make sd.c deal with RBC (note that it's a valid SCSI type -
you bloody well can have it for a device attached to any SCSI bus, not
just firewire) and leave the sdev->type intact, so that sd.c could know
what's going on.  Right?

As it turns out, sdev->type is not just exposed to userland via sysfs
(that has legitimate uses), it's exposed to userland that happens to be
braindead.  There are two questions:
	* what commands does that device accept?
	* is there an sd<...> block device for it?
Both are valid for userland.  E.g. stuff like scsiinfo, etc., is issuing
SCSI commands via SG_IO.  And yes, knowing the device type is very, very
useful there.  For that we actually would want accurate type, for the same
reasons why we want it in sd.c.  The second question ("is there an sd.c
block device for this guy?") also is valid and has a sane answer in sysfs.

What got broken?  Code that used to assume that sd.c will never, ever handle
openly RBC disks.  As long as that remained true, userland could assume that
"sd fodder" and "has type 0" were the same.  Which was never guaranteed.

  parent reply	other threads:[~2006-02-22 17:51 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-17 22:45 Linux 2.6.16-rc4 Linus Torvalds
2006-02-17 23:14 ` 2.6.16-rc4: known regressions Adrian Bunk
2006-02-19 11:06   ` Pekka Enberg
2006-02-19 14:54     ` Adrian Bunk
2006-02-19 17:50       ` Pekka Enberg
2006-02-19 21:14       ` Pekka Enberg
2006-02-20  1:02         ` Greg KH
2006-02-20  7:08           ` Pekka J Enberg
2006-02-21 22:51           ` Pekka Enberg
2006-02-21 22:57             ` Kay Sievers
2006-02-21 23:33               ` Andrew Morton
2006-02-22  0:04                 ` Kay Sievers
2006-02-22  0:15                   ` Mark Lord
2006-02-22  0:21                   ` Andrew Morton
2006-02-22  0:34                     ` Linus Torvalds
2006-02-22  0:46                       ` Con Kolivas
2006-02-22  1:06                       ` Linus Torvalds
2006-02-22 11:21                         ` Theodore Ts'o
2006-02-22 14:25                           ` uswsusp & initrd -- was " Pavel Machek
2006-02-22 15:48                           ` Joel Becker
2006-02-22 16:25                             ` Theodore Ts'o
2006-02-22 17:33                               ` Gabor Gombas
2006-02-22 17:57                                 ` Linus Torvalds
2006-02-22 18:37                                   ` Christian Trefzer
2006-02-22 18:59                                 ` Joel Becker
2006-02-22 19:18                                   ` Greg KH
2006-02-22 19:29                                     ` Arjan van de Ven
2006-02-22 19:40                                       ` Greg KH
2006-02-22 20:45                                         ` Jens Axboe
2006-02-22 22:51                                           ` Greg KH
2006-02-23  6:39                                             ` Jens Axboe
2006-02-23 17:29                                         ` Martin Bligh
2006-02-23 17:52                                           ` Greg KH
2006-02-23 18:01                                             ` Martin Bligh
2006-02-23 18:04                                             ` Arjan van de Ven
2006-02-23 20:26                                         ` Benjamin LaHaise
2006-02-24 23:42                                         ` Eric W. Biederman
2006-02-22 19:39                                     ` Linus Torvalds
2006-02-22 19:54                                   ` Andrew Morton
2006-02-22 20:02                                     ` Arjan van de Ven
2006-02-22 20:12                                     ` Linus Torvalds
2006-02-22 20:44                                       ` Andrew Morton
2006-02-22 20:26                                     ` Greg KH
2006-02-23  5:28                                       ` Jody McIntyre
2006-02-22 20:57                                     ` Diego Calleja
2006-02-22 21:19                                     ` Russell King
2006-02-22 21:30                                       ` Greg KH
2006-02-22 20:47                             ` Bryan O'Sullivan
2006-02-22 19:07                           ` Greg KH
2006-02-22 17:06                         ` Matthias Andree
2006-02-23 12:36                         ` Paulo Marques
2006-02-22 10:49                   ` Diego Calleja
2006-02-22  7:06               ` Pekka J Enberg
2006-02-22 15:27                 ` Kay Sievers
2006-02-22 15:44                   ` Linus Torvalds
2006-02-22 16:03                     ` Arjan van de Ven
2006-02-22 16:11                       ` Christoph Hellwig
2006-02-22 17:17                         ` sysfs regressions (was: 2.6.16-rc4: known regressions) Matthias Andree
2006-02-22 17:47                           ` Greg KH
2006-02-22 16:18                     ` 2.6.16-rc4: known regressions David Zeuthen
2006-02-22 16:35                       ` Christoph Hellwig
2006-02-22 16:46                         ` David Zeuthen
2006-02-22 16:51                           ` Christoph Hellwig
2006-02-22 17:08                       ` Linus Torvalds
2006-02-22 17:31                         ` Linus Torvalds
2006-02-22 18:04                           ` Al Viro
2006-02-23  3:01                             ` John Stoffel
2006-02-22 17:51                         ` Al Viro [this message]
2006-02-22 17:55                           ` Christoph Hellwig
2006-02-22 18:10                             ` Al Viro
2006-02-22 19:25                         ` David Zeuthen
2006-02-22 17:10                       ` Al Viro
2006-02-22 17:10                       ` grundig
2006-02-22 17:14                       ` Martin Bligh
2006-02-23  4:17                         ` Theodore Ts'o
2006-02-22 18:10                   ` Pekka Enberg
2006-02-22  8:28               ` Arjan van de Ven
2006-02-17 23:27 ` Linux 2.6.16-rc4 Nigel Cunningham
2006-02-18  8:59 ` Edmondo Tommasina
2006-02-18  9:19   ` Gene Heskett
2006-02-18 10:20     ` Con Kolivas
2006-02-18 11:26       ` Gene Heskett
2006-02-18 16:04 ` Jean Delvare
2006-02-22 22:02 ` Linux 2.6.16-rc4 edac oops Mark Rustad
2006-02-24 11:09   ` Andrew Morton
2006-02-22  2:39 2.6.16-rc4: known regressions Yu, Luming
2006-02-22  3:16 ` Adrian Bunk
2006-02-22  6:55 Yu, Luming
2006-02-22 12:23 ` Adrian Bunk

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=20060222175131.GC27946@ftp.linux.org.uk \
    --to=viro@ftp.linux.org.uk \
    --cc=akpm@osdl.org \
    --cc=bunk@stusta.de \
    --cc=david@fubar.dk \
    --cc=gregkh@suse.de \
    --cc=johnstul@us.ibm.com \
    --cc=kay.sievers@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@cs.Helsinki.FI \
    --cc=rml@novell.com \
    --cc=torvalds@osdl.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;
as well as URLs for NNTP newsgroup(s).