]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] drivers/scsi/st.c: add reference count and related fixes
authorKai Makisara <Kai.Makisara@kolumbus.fi>
Tue, 2 Aug 2005 10:40:47 +0000 (13:40 +0300)
committerJames Bottomley <jejb@mulgrave.(none)>
Mon, 8 Aug 2005 14:33:48 +0000 (09:33 -0500)
commit48e1b954cc78d3e2aa00cc92c83941da8b272502
tree97b3258660d52dc0359d50f27b5f593c935c9012
parent3d4deeb71bedbcca35b57461f239f0770c356ce3
[SCSI] drivers/scsi/st.c: add reference count and related fixes

I have rediffed the patch against 2.6.13-rc5, done a couple of cosmetic
cleanups, and run some tests.  Brian King has acknowledged that it fixes the
problems he has seen. Seems mature enough for inclusion into 2.6.14 (or
later)?

Nate's explanation of the changes:

I've attached patches against 2.6.13rc2. These are basically identical
to my earlier patches, as I found that all issues I'd seen in earlier
kernels still existed in this kernel.

To summarize, the changes are: (more details in my original email)

- add a kref to the scsi_tape structure, and associate reference
counting stuff

- set sr_request->end_io = blk_end_sync_rq so we get notified when an IO
is rejected when the device goes away

- check rq_status when IOs complete, else we don't know that IOs
rejected for a dead device in fact did not complete

- change last_SRpnt so it's set before an async IO is issued (in case
st_sleep_done is bypassed)

- fix a bogus use of last_SRpnt in st_chk_result

Signed-off-by: Nate Dailey <nate.dailey@stratus.com>
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/st.c
drivers/scsi/st.h