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>
这个提交包含在:
@@ -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 */
|
||||
|
在新工单中引用
屏蔽一个用户