All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Borzenkov <arvidjaar@mail.ru>
To: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: 2.6.1: media change check fails for busy unplugged device
Date: Sun, 18 Jan 2004 21:41:12 +0300	[thread overview]
Message-ID: <200401182141.12468.arvidjaar@mail.ru> (raw)

If we unplug busy device (consider mounted USB stick) media change check 
always returns true (no media change happened). It happens because

- device state is set to SDEV_DEL and scsi_prep_fn silently kills any request 
including TEST_UNIT_READY sent by sd_media_changed without propagating any 
information back to caller

- sdev->online still remains TRUE

so nothing ever tells sd_media_changed that device is gone.

this effectively prevents supermount from noticing that it needs remount 
subfs.

What is the right place to catch those deleted device? For now I add this as 
part of supermount patch, but it looks too ugly (and in the wrong place):

--- linux-2.6.1/drivers/scsi/sd.c       29 Dec 2003 17:20:12 -0000
+++ linux-2.6.1/drivers/scsi/sd.c       18 Jan 2004 18:20:54 -0000
@@ -620,6 +622,16 @@ static int sd_media_changed(struct gendi
                 goto not_present;

        /*
+        * FIXME HACK
+        * busy device that is unplugged is SDEV_DEL but online and ioctl
+        * does not return any error. Oh well, it is likely layering
+        * violation but for now it enables media checks for supermount
+        */
+
+       if (sdp->sdev_state == SDEV_DEL)
+               goto not_present;
+
+       /*
         * For removable scsi disk we have to recognise the presence
         * of a disk in the drive. This is kept in the struct scsi_disk
         * struct and tested at open !  Daniel Roche (dan@lectra.fr)
 
TIA

-andrey


             reply	other threads:[~2004-01-18 19:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-18 18:41 Andrey Borzenkov [this message]
2004-01-19 23:36 ` 2.6.1: media change check fails for busy unplugged device Mike Anderson
2004-01-26 19:16   ` Andrey Borzenkov
2004-01-29  9:30     ` Mike Anderson
2004-01-31 13:53       ` James Bottomley

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=200401182141.12468.arvidjaar@mail.ru \
    --to=arvidjaar@mail.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.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 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.