remarkable-linux/include/scsi
Boaz Harrosh d6ae4333e6 [SCSI] osduld: Use device->release instead of internal kref
The true logic of this patch will be clear in the next patch where we
use the class_find_device() API. When doing so the use of an internal
kref leaves us a narrow window where a find is started while the actual
object can go away. Using the device's kobj reference solves this
problem because now the same kref is used for both operations. (Remove
and find)

Core changes
* Embed a struct device in uld_ structure and use device_register
  instead of devie_create. Set __remove to be the device release
  function.
* __uld_get/put is just get_/put_device. Now every thing is accounted
  for on the device object. Internal kref is removed.
* At __remove() we can safely de-allocate the uld_ structure. (The
  function has moved to avoid forward declaration)

Some cleanups
* Use class register/unregister is cleaner for this driver now.
* cdev ref-counting games are no longer necessary

I have incremented the device version string in case of new bugs.

Note: Previous bugfix of taking the reference around fput() still
      applies.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2009-12-04 12:01:45 -06:00
..
fc [SCSI] libfc: register FC4 features with the FC switch 2009-12-04 12:01:20 -06:00
fc_encode.h [SCSI] libfc: register FC4 features with the FC switch 2009-12-04 12:01:20 -06:00
fc_frame.h [SCSI] fcoe, libfc: use single frame allocation API 2009-12-04 12:01:09 -06:00
iscsi_if.h [SCSI] libiscsi: add warm target reset tmf support 2009-12-04 12:01:36 -06:00
iscsi_proto.h [SCSI] libiscsi: Check TMF state before sending PDU 2009-12-04 12:01:36 -06:00
Kbuild [SCSI] libfc: Export FC headers 2009-12-04 12:01:05 -06:00
libfc.h [SCSI] libfc: register FC4 features with the FC switch 2009-12-04 12:01:20 -06:00
libfcoe.h [SCSI] libfcoe: fcoe: simplify receive FLOGI response 2009-12-04 12:01:18 -06:00
libiscsi.h [SCSI] libiscsi: add warm target reset tmf support 2009-12-04 12:01:36 -06:00
libiscsi_tcp.h
libsas.h [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
libsrp.h
osd_attributes.h [SCSI] libosd: OSD2r05: Attribute definitions 2009-06-10 08:54:07 -05:00
osd_initiator.h [SCSI] osduld: Use device->release instead of internal kref 2009-12-04 12:01:45 -06:00
osd_protocol.h [SCSI] libosd: OSD2r05: Additional command enums 2009-06-10 08:54:04 -05:00
osd_sec.h
osd_sense.h [SCSI] libosd: osd_sense: OSD_CFO_PERMISSIONS 2009-12-04 12:01:44 -06:00
osd_types.h
sas.h
sas_ata.h
scsi.h [SCSI] scsi: Add missing command definitions 2009-12-04 12:00:15 -06:00
scsi_bsg_fc.h [SCSI] FC Pass Thru support 2009-06-12 14:20:05 -05:00
scsi_cmnd.h [SCSI] Deprecate SCSI_PROT_*_CONVERT operations 2009-10-02 09:46:25 -05:00
scsi_dbg.h
scsi_device.h [SCSI] scsi_dh: Change the scsidh_activate interface to be asynchronous 2009-12-04 12:00:46 -06:00
scsi_devinfo.h
scsi_dh.h [SCSI] scsi_dh: Change the scsidh_activate interface to be asynchronous 2009-12-04 12:00:46 -06:00
scsi_driver.h sd, sr: fix Driver 'sd' needs updating message 2009-06-21 12:01:27 -05:00
scsi_eh.h
scsi_host.h [SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects 2009-12-04 12:01:30 -06:00
scsi_ioctl.h
scsi_netlink.h
scsi_netlink_fc.h
scsi_scan.h
scsi_tcq.h
scsi_tgt.h
scsi_tgt_if.h
scsi_transport.h
scsi_transport_fc.h [SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh 2009-12-04 12:00:52 -06:00
scsi_transport_iscsi.h [SCSI] iscsi class: Add new NETLINK_ISCSI messages for cnic/bnx2i driver. 2009-06-09 10:22:35 -05:00
scsi_transport_sas.h
scsi_transport_spi.h [SCSI] aic79xx: make driver respect nvram for IU and QAS settings 2009-06-15 10:09:35 -05:00
scsi_transport_srp.h
scsicam.h
sg.h
srp.h