> I've only implemented/tested it against scsi-disks to date.
>
> Here's the patch against a 2.3.99-pre2 kernel. To recap, two primary
reasons
> for this patch:
> 1. To enhance the queueing and scsi-mid layers to handle kiobuf-based
>    requests as well,
>
> 2. Remove request size limits on the upper layers (above ll_rw_blk.c).
>    The KIO_MAX_SECTORS seems to have been inspired by MAX_SECTORS
>    (128 per request) in ll_rw_blk.c. The scsi mid-layer should handle
>    `oversize' requests based on the HBA sg_tablesize.
>
> I'm not too sure about 2. above; so I'd love to hear from more
knowledgeable
> people on that score.
>
> I'd highly appreciate any feedback before I submit this patch
`officially'.

    I guess my main comment is that you (or someone) re-indented some of the
files for some reason, and as a result it is harder to read the patches and
figure out what they really do.  Is there any way you can fix it to use the
standard indentation?  Alan would remember the parameters to indent that he
used when he re-indented a lot of the SCSI code.

    Alternatively, you could use "diff -b" to ignore whitespace
differences - this usually causes diff to ignore indentation changes.

    My other comment is that it looked like you cloned a lot of code from
the existing buffered request handling and I am wondering if there is any
way that we can reduce the amount of duplicated code.  I don't understand
the new code well enough to say that it could be done, but it is something
to look at.

    One nitpick - you made a change to sd.c that didn't look correct at
first:

@@ -542,7 +543,12 @@
  (SCpnt->sense_buffer[4] << 16) |
  (SCpnt->sense_buffer[5] << 8) |
  SCpnt->sense_buffer[6];
- if (SCpnt->request.bh != NULL)
+#if CONFIG_KIOBUF_IO
+ /* Tweak to support kiobuf-based I/O requests, [[EMAIL PROTECTED]] */
+ if (SCpnt->request.kiobuf != NULL)
+ block_sectors = SCpnt->request.kiobuf->length >> 9;
+ else if (SCpnt->request.bh != NULL)
+#endif
  block_sectors = SCpnt->request.bh->b_size >> 9;
  switch (SCpnt->device->sector_size) {
  case 1024:

I am really not wild about the way this is structured with the conditional
compilation of a part of a conditional - it is just asking for someone to go
in and break it.

-Eric



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to