On Mon, 3 Mar 2008, James Bottomley wrote: > On Mon, 2008-03-03 at 15:16 -0500, Alan Stern wrote: > > This patch (as1050) adds a new field to struct scsi_device, to keep a > > count of the number of block-device open file references. This count > > will be used by usb-storage to determine whether USB-PERSIST should be > > forced on during a suspend. > > I don't think this does what's advertised if you mean it to keep a count > as the atomics seem to imply. (->open is only called on first open and > ->release on last close. openers was a historical 2.4 field that used > to count opens but now just flags whether sd is open or not. Um. The real purpose of that field is to let usb-storage know whether or not the device is open at all. I used a count because that seemed like the only way to do it; it doesn't matter if the count value doesn't exactly match the actual number of open file references. I didn't want to use the openers field in struct scsi_disk because this should apply to CDs and any other block devices as well as to disks. > Secondly, if you really want an openers count (which I remember SCSI > rendering a bad idea ages ago), that's held in struct block_device as > openers, isn't it? So there's no need to duplicate this in SCSI. But there's no way to get to the block_device structure if all you're given is the scsi_device, right? You would have to know something special about it, such as whether it is a disk, a CD, or something else. This is intended to be generic. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html