SCSI: support for allocating large scatterlists

This is what enables large commands. If we need to allocate an
sgtable that doesn't fit in a single page, allocate several
SCSI_MAX_SG_SEGMENTS sized tables and chain them together.

SCSI defaults to large chained sg tables, if the arch supports it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
这个提交包含在:
Jens Axboe
2007-08-07 09:02:51 +02:00
父节点 0cde8d9510
当前提交 a8474ce23a
修改 3 个文件,包含 170 行新增61 行删除

查看文件

@@ -10,13 +10,6 @@
#include <linux/types.h>
/*
* The maximum sg list length SCSI can cope with
* (currently must be a power of 2 between 32 and 256)
*/
#define SCSI_MAX_PHYS_SEGMENTS MAX_PHYS_SEGMENTS
/*
* SCSI command lengths
*/

查看文件

@@ -70,6 +70,7 @@ struct scsi_cmnd {
/* These elements define the operation we ultimately want to perform */
unsigned short use_sg; /* Number of pieces of scatter-gather */
unsigned short sglist_len; /* size of malloc'd scatter-gather list */
unsigned short __use_sg;
unsigned underflow; /* Return error if less than
this amount is transferred */