diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2009-03-31 20:05:29 +0300 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-04-03 09:22:56 -0500 |
commit | 8c0baccadc86d9f07e663dd255751dd70e461ba3 (patch) | |
tree | 334d6d79b8159042779a458bf90c20292aa56efb /include/scsi | |
parent | a9bddd74630b2a1f2dedc537417c372b2d9edc76 (diff) | |
download | blackbird-op-linux-8c0baccadc86d9f07e663dd255751dd70e461ba3.tar.gz blackbird-op-linux-8c0baccadc86d9f07e663dd255751dd70e461ba3.zip |
[SCSI] libosd: fix blk_put_request called from within request_end_io
A fix for a very serious and stupid bug in osd_initiator. It
used to call blk_put_request() regardless of if it was from
the end_io callback or if called after a sync execution.
It should call the unlocked version __blk_put_request() instead.
Also fixed is the remove of _abort_unexecuted_bios hack, and use of
blk_end_request(,-ERROR,) to deallocate half baked requests. I've
audited the code and it should be safe.
Reported and
Tested-by: Xu Yang <onlyxuyang@qq.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/scsi')
0 files changed, 0 insertions, 0 deletions