From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Mikael Pettersson <mikpe@it.uu.se>
Cc: mingo@elte.hu, akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] floppy: suspend/resume fix
Date: Sun, 12 Nov 2006 21:29:41 +0000 [thread overview]
Message-ID: <20061112212941.GA31624@flint.arm.linux.org.uk> (raw)
In-Reply-To: <200611122047.kACKl8KP004895@harpo.it.uu.se>
On Sun, Nov 12, 2006 at 09:47:08PM +0100, Mikael Pettersson wrote:
> On Sun, 12 Nov 2006 19:40:01 +0000, Russell King wrote:
> > On Sun, Nov 12, 2006 at 07:09:53PM +0100, Ingo Molnar wrote:
> > >
> > > * Mikael Pettersson <mikpe@it.uu.se> wrote:
> > >
> > > > Sorry, no joy. The first access post-resume still fails and generates:
> > >
> > > ok, then someone who knows the floppy driver better than me should put
> > > the right stuff into the suspend/resume hooks :-)
> >
> > At a guess, what's probably happening is that the floppy drive, when
> > powered on after resume, reports "disk changed" because it doesn't
> > know any better.
> >
> > We interpret "disk changed" to mean the disk has been removed and
> > possibly changed (which _is_ correct) and thereby abort any further
> > IO (irrespective of resume.)
> >
> > Now, consider the following two scenarios:
> >
> > 1. You suspend and then resume, leaving the disk in the floppy drive.
> >
> > 2. You suspend, remove the floppy disk, insert a totally different disk
> > in the same drive, and then resume.
> >
> > What should you do? (Hint: without reading the disk and comparing it
> > with what you have cached you don't know if the disk has been changed
> > or not.)
> >
> > If you argue that in case (1) you should continue to allow IO, then
> > you potentially end up scribbling over a disk when someone does (2).
> >
> > So I'd argue that the behaviour being seen by Mikael is the _safest_
> > behaviour, and the most correct behaviour given the limitations of
> > the hardware.
>
> Note that my usage scenario consists of separate I/O commands:
>
> 1. boot
> 2. tar cf /dev/fd0 somefile
> 3. tar tvf /dev/fd0
> 4. suspend (close lid) and later resume (open lid)
> 5. tar tvf /dev/fd0 (this one fails since 2.6.18-rc1)
>
> Ages and ages ago the floppy driver would cache data so that
> after e.g. one "tar tvf /dev/fd0" command, a new "tar tvf /dev/fd0"
> wouldn't actually do any I/O. But nowadays, at least in all 2.6
> kernels, that's not done and both "tar tvf /dev/fd0" commands
> will read the media.
>
> Thus I don't see any excuse for the kernel failing step 5 above.
In which case isn't the real regression that it does IO?
Nevertheless, I give you two options:
1. Abort all IO do inserted floppy disk after resume.
2. Corrupt replaced floppy disk after resume.
You have to pick one and exactly one. Which is inherently less risky to
the end user?
(I'm not saying that I can change the behaviour; I'm merely trying to
point out that you're arguing for an inherently dangerous behaviour.)
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
next prev parent reply other threads:[~2006-11-12 21:29 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-12 20:47 [patch] floppy: suspend/resume fix Mikael Pettersson
2006-11-12 21:29 ` Russell King [this message]
2006-11-12 22:03 ` Ingo Molnar
2006-11-12 23:54 ` Russell King
2006-11-14 11:09 ` Pavel Machek
2006-11-14 16:34 ` Lee Revell
2006-11-15 20:24 ` Pavel Machek
2006-11-15 20:34 ` Lee Revell
2006-11-15 20:49 ` Alan
2006-11-15 20:49 ` Pavel Machek
2006-11-15 21:03 ` Rafael J. Wysocki
2006-11-15 21:14 ` Arjan van de Ven
2006-11-16 12:38 ` Russell King
2006-11-15 18:46 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2006-11-12 22:40 Mikael Pettersson
2006-11-12 23:58 ` Russell King
2006-11-15 18:53 ` Ingo Molnar
[not found] <7grMO-2YO-55@gated-at.bofh.it>
[not found] ` <7gs69-46A-37@gated-at.bofh.it>
[not found] ` <7gtvd-7xg-23@gated-at.bofh.it>
2006-11-12 21:44 ` Bodo Eggert
2006-11-14 11:05 ` Pavel Machek
2006-11-12 17:53 Mikael Pettersson
2006-11-12 18:09 ` Ingo Molnar
2006-11-12 19:30 ` Andrew Morton
2006-11-12 20:35 ` Arjan van de Ven
2006-11-12 19:40 ` Russell King
2006-11-11 20:48 [BUG] floppy: broken after resume due to 2.6.18-rc1 lockdep changes Mikael Pettersson
2006-11-12 15:47 ` [patch] floppy: suspend/resume fix Ingo Molnar
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=20061112212941.GA31624@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mikpe@it.uu.se \
--cc=mingo@elte.hu \
/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