linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Is this a known problem with the SCSI mid layer?
@ 2010-01-15  2:14 Stephen Cameron
  2010-01-15 13:02 ` Stefan Richter
  0 siblings, 1 reply; 13+ messages in thread
From: Stephen Cameron @ 2010-01-15  2:14 UTC (permalink / raw)
  To: linux-scsi

stefanr@s5r6.in-berlin.de wrote:
> scameron@beardog.cce.hp.com wrote:
> > On Thu, Jan 14, 2010 at 01:24:59PM -0500, Douglas Gilbert wrote:
> >> scameron@beardog.cce.hp.com wrote:
> >>> I'm seeing a problem which I think is a problem in the SCSI mid layer.
> [...]
> >>> Remove the device while something has it open:
> [...]
> >>> [root@slicer ~]# rmmod hpsa
> >>> ERROR: Module hpsa is in use
> 
> The sg driver's open method takes a reference to the underlying SCSI
> device representation of the mid layer.  Among else, this step increases
> the module use count of the respective low-level driver (transport layer
> driver) so that the SCSI mid layer can be sure that function pointers to
> driver methods stay valid during the lifetime of the SCSI device
> representation.
> 
> This reference taking is of course being reversed when the sg driver
> finishes its last uses of the underlying SCSI device.  This may be at
> the respective close() or even later.
> 
> In short, it is normal, expected, and necessary what you are seeing.
> -- 
> Stefan Richter
> 

I don't think you are correct.  Look more closely at my test cases.

When I attempt the rmmod, *nothing* has the device open.  The last
close has already occurred -- albeit *after* the device was
removed.  

In my test, the module *never* becomes rmmod-able.  Doesn't matter
how long you wait, and nothing will ever decrement the reference
count.

Are you saying that this is correct behavior, that once a device
is removed while a process has it open that it shoule *never*
be rmmod'able?

Because that is the behavior I am seeing.

-- steve



      

^ permalink raw reply	[flat|nested] 13+ messages in thread
* Is this a known problem with the SCSI mid layer?
@ 2010-01-14 16:56 scameron
  2010-01-14 18:24 ` Douglas Gilbert
  0 siblings, 1 reply; 13+ messages in thread
From: scameron @ 2010-01-14 16:56 UTC (permalink / raw)
  To: linux-scsi; +Cc: James.Bottomley, mikem, dab, hch, axboe


I'm seeing a problem which I think is a problem in the SCSI mid layer.

Check this out:

I can rmmod and insmod hpsa (a modified version from 
what's currently in the mainline tree, but I don't think
that matters.)

I have one logical drive present

[root@slicer ~]# rmmod hpsa
[root@slicer ~]# insmod /usr/src/linux-2.6.27.42/drivers/scsi/hpsa.ko
[root@slicer ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: HP       Model: 1210m            Rev: 0150
  Type:   RAID                             ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 01
  Vendor: HP       Model: 1210m VOLUME     Rev: 0150
  Type:   Direct-Access                    ANSI  SCSI revision: 05
[root@slicer ~]# rmmod hpsa
[root@slicer ~]# insmod /usr/src/linux-2.6.27.42/drivers/scsi/hpsa.ko
[root@slicer ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: HP       Model: 1210m            Rev: 0150
  Type:   RAID                             ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 01
  Vendor: HP       Model: 1210m VOLUME     Rev: 0150
  Type:   Direct-Access                    ANSI  SCSI revision: 05
[root@slicer ~]# lsscsi -g
[2:0:0:0]    storage HP       1210m            0150  -         /dev/sg0
[2:0:0:1]    disk    HP       1210m VOLUME     0150  /dev/sda  /dev/sg1

So far, so good.

Now, watch this.  Remove the device while something has it open:

[root@slicer ~]# sleep 10 < /dev/sg1 & ( sleep 1 && echo scsi remove-single-device 2 0 0 1 > /proc/scsi/scsi )
[1] 6077
[root@slicer ~]# 
[1]+  Done                    sleep 10 < /dev/sg1
[root@slicer ~]# lsof /dev/sg1
lsof: status error on /dev/sg1: No such file or directory
lsof 4.78
 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
 latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
 usage: [-?abhlnNoOPRstUvVX] [+|-c c] [+|-d s] [+D D] [+|-f]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]]
 [-p s] [+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [-Z [Z]] [--] [names]
Use the ``-h'' option to get more help information.
[root@slicer ~]# rmmod hpsa
ERROR: Module hpsa is in use
[root@slicer ~]#

Hmm, that's not cool.

Maybe it's my driver.  Let me try with USB.

[root@slicer ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: USB      Model: DISK 2.0         Rev: 0403
  Type:   Direct-Access                    ANSI  SCSI revision: 00
[root@slicer ~]# lsmod | grep sd
sd_mod                 59592  0 
scsi_mod              189304  9 usb_storage,ib_iser,iscsi_tcp,libiscsi,scsi_transport_iscsi,scsi_dh,sg,cciss,sd_mod
[root@slicer ~]# rmmod usb_storage
[root@slicer ~]# cat /proc/scsi/scsi
Attached devices:
[root@slicer ~]# modprobe usb_storage
[root@slicer ~]# cat /proc/scsi/scsi
Attached devices:
[root@slicer ~]# echo scsi add-single-device 1 0 0 0 > /proc/scsi/scsi
-bash: echo: write error: No such device or address

Oh yeah, the host number increments, forgot about that...

[root@slicer ~]# echo scsi add-single-device 2 0 0 0 > /proc/scsi/scsi
[root@slicer ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: USB      Model: DISK 2.0         Rev: 0403
  Type:   Direct-Access                    ANSI  SCSI revision: 00
[root@slicer ~]# lsscsi -g
[2:0:0:0]    disk    USB      DISK 2.0         0403  /dev/sda  /dev/sg0
[root@slicer ~]# sleep 10 < /dev/sg0 & ( sleep 1 && echo scsi remove-single-device 2 0 0 0 > /proc/scsi/scsi )
[1] 6073
[root@slicer ~]# 
[root@slicer ~]# 
[1]+  Done                    sleep 10 < /dev/sg0
[root@slicer ~]# rmmod usb_storage
ERROR: Module usb_storage is in use
[root@slicer ~]#

Hmm, same thing.

Any thoughts?  (other than "don't do that."  Our array configuration
utility for smart arrays is causing similar trouble, as it rapidly creates
and deletes logical drives, etc. so it would be nice if this didn't happen.)

-- steve


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-01-16 11:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-15  2:14 Is this a known problem with the SCSI mid layer? Stephen Cameron
2010-01-15 13:02 ` Stefan Richter
2010-01-15 14:18   ` Stephen Cameron
2010-01-15 17:50     ` Douglas Gilbert
  -- strict thread matches above, loose matches on Subject: below --
2010-01-14 16:56 scameron
2010-01-14 18:24 ` Douglas Gilbert
2010-01-14 19:00   ` scameron
2010-01-14 20:07   ` scameron
2010-01-14 23:43     ` Stefan Richter
2010-01-15  8:10       ` Jens Axboe
2010-01-15  9:03         ` Stefan Richter
2010-01-15 21:44           ` scameron
2010-01-16 11:47             ` FUJITA Tomonori

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).