linux/drivers/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
..
aacraid [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
aic7xxx trivial: fix typo in aic7xxx comment 2009-09-21 15:15:53 +02:00
aic7xxx_old
aic94xx
arcmsr [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
arm
be2iscsi [SCSI] libiscsi: add warm target reset tmf support 2009-12-04 12:01:36 -06:00
bfa [SCSI] bfa: fixed checkpatch errors for bfad files 2009-12-04 12:00:09 -06:00
bnx2i [SCSI] libiscsi: add warm target reset tmf support 2009-12-04 12:01:36 -06:00
cxgb3i [SCSI] libiscsi: add warm target reset tmf support 2009-12-04 12:01:36 -06:00
device_handler [SCSI] scsi_dh: create sysfs file, dh_state for all SCSI disk devices 2009-12-04 12:01:29 -06:00
dpt
fcoe [SCSI] libfc fcoe: increase ELS and CT timeouts 2009-12-04 12:01:27 -06:00
fnic [SCSI] fnic: enable bsg pass-thru for fcping 2009-12-04 12:01:20 -06:00
ibmvscsi [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
libfc [SCSI] libfc fcoe: increase ELS and CT timeouts 2009-12-04 12:01:27 -06:00
libsas [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
lpfc [SCSI] lpfc 8.3.5: Update the lpfc driver version to 8.3.5 2009-12-04 12:01:43 -06:00
megaraid [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
mpt2sas [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
mvsas [SCSI] mvsas: Support Areca SAS/SATA HBA, ARC-1300/1320 2009-10-02 09:44:45 -05:00
osd [SCSI] osduld: Use device->release instead of internal kref 2009-12-04 12:01:45 -06:00
pcmcia [SCSI] nsp_cs: fix buf overflow 2009-08-22 17:52:22 -05:00
pm8001 [SCSI] pm8001: Fixes for tag alloc, error goto and code cleanup 2009-12-04 12:01:32 -06:00
qla2xxx [SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects 2009-12-04 12:01:30 -06:00
qla4xxx trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
sym53c8xx_2
.gitignore
3w-9xxx.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
3w-9xxx.h
3w-sas.c [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
3w-sas.h [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
3w-xxxx.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
aic7xxx_old.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c
ch.c [SCSI] ch: Check NULL for kmalloc() return 2009-08-22 17:52:22 -05:00
constants.c [SCSI] scsi: Add missing command definitions 2009-12-04 12:00:15 -06:00
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c dpt_i2o: Fix up copy*user 2009-10-29 09:01:07 -07:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c
esp_scsi.c
esp_scsi.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h
gvp11.c
gvp11.h
hosts.c [SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects 2009-12-04 12:01:30 -06:00
hptiop.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
hptiop.h [SCSI] hptiop: Add RR44xx adapter support 2009-10-02 09:45:22 -05:00
ibmmca.c
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
ipr.h
ips.c
ips.h
iscsi_tcp.c [SCSI] libiscsi: add warm target reset tmf support 2009-12-04 12:01:36 -06:00
iscsi_tcp.h
jazz_esp.c
Kconfig [SCSI] fnic: Add FIP support to the fnic driver 2009-12-04 12:01:19 -06:00
lasi700.c
libiscsi_tcp.c
libiscsi.c [SCSI] libiscsi: hook into ramp up/down handling 2009-12-04 12:01:39 -06:00
libsrp.c [SCSI] libsrp: fix memory leak in srp_ring_free() 2009-09-12 09:35:34 -05:00
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
megaraid.c
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pmcraid.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
pmcraid.h headers: kref.h redux 2009-09-26 10:17:19 -07:00
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c
qlogicpti.h [SCSI] qlogicpti: add missing parentheses 2009-12-04 12:01:28 -06:00
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: fix Thin provisioning support 2009-12-04 12:00:49 -06:00
scsi_devinfo.c [SCSI] scsi_devinfo: update Hitachi entries (v2) 2009-12-04 12:01:34 -06:00
scsi_error.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_ioctl.c [SCSI] add scsi target reset support to scsi ioctl 2009-12-04 12:01:33 -06:00
scsi_lib_dma.c [SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects 2009-12-04 12:01:30 -06:00
scsi_lib.c [SCSI] scsi_lib: fix potential NULL dereference 2009-12-04 12:00:51 -06:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_priv.h driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c [SCSI] fc class: fail fast bsg requests 2009-12-04 12:01:32 -06:00
scsi_transport_iscsi.c [SCSI] iscsi class: modify handling of replacement timeout 2009-12-04 12:01:37 -06:00
scsi_transport_sas.c
scsi_transport_spi.c
scsi_transport_srp_internal.h
scsi_transport_srp.c
scsi_typedefs.h
scsi_wait_scan.c
scsi.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi.h
scsicam.c
sd_dif.c [SCSI] sd: Detach DIF from block integrity infrastructure 2009-10-02 09:46:39 -05:00
sd.c [SCSI] sd: Support disks formatted with DIF Type 2 2009-10-02 09:47:04 -05:00
sd.h [SCSI] sd: Support disks formatted with DIF Type 2 2009-10-02 09:47:04 -05:00
ses.c [SCSI] ses: update enclosure data on hot add 2009-08-22 17:52:14 -05:00
sg.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2009-10-11 11:12:33 -07:00
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c
sr_vendor.c
sr.c [SCSI] sr: consider the last written sector when determining media size 2009-10-02 09:45:46 -05:00
sr.h
st_options.h
st.c [SCSI] st: fix possible memory use after free after MTSETBLK ioctl 2009-10-02 14:11:58 -05:00
st.h
stex.c [SCSI] stex: update version to 4.6.0000.4 2009-10-29 13:03:27 -04:00
sun3_NCR5380.c
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
vmw_pvscsi.c [SCSI] vmw_pvscsi: SCSI driver for VMware's virtual HBA. 2009-12-04 12:00:49 -06:00
vmw_pvscsi.h [SCSI] vmw_pvscsi: SCSI driver for VMware's virtual HBA. 2009-12-04 12:00:49 -06:00
wd33c93.c
wd33c93.h
wd7000.c
zalon.c
zorro7xx.c