Please try this patch, it should fix the issue for you. The reason is
that the RW bit is set from get_request() now, and scsi_ioctl always
uses WRITE as arguement to the function. So every request would be
turned into a write, oops :)
===== drivers/block/scsi_ioctl.c 1.25 vs edited =====
--- 1.25/drivers/block/scsi_ioctl.c Tue Apr 29 13:41:31 2003
+++ edited/drivers/block/scsi_ioctl.c Wed May 14 09:42:19 2003
@@ -229,6 +229,8 @@
rq->flags |= REQ_BLOCK_PC;
if (writing)
rq->flags |= REQ_RW;
+ else
+ rq->flags &= ~REQ_RW;
rq->hard_nr_sectors = rq->nr_sectors = nr_sectors;
rq->hard_cur_sectors = rq->current_nr_sectors = nr_sectors;
@@ -375,6 +377,8 @@
rq->flags |= REQ_BLOCK_PC;
if (in_len)
rq->flags |= REQ_RW;
+ else
+ rq->flags &= ~REQ_RW;
blk_do_rq(q, bdev, rq);
err = rq->errors & 0xff; /* only 8 bit SCSI status */
-- Jens Axboe- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/