summary refs log tree commit diff
path: root/include/scsi
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-08-07 09:02:51 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-10-16 11:12:53 +0200
commita8474ce23a73185dd2bae4c884b1716474032d31 (patch)
tree63501846b8aaef02579a868f6d5118b6a07c4a5e /include/scsi
parent0cde8d9510e242c73b2d68f9949cd3c456c863b4 (diff)
downloadlinux-a8474ce23a73185dd2bae4c884b1716474032d31.tar.gz
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>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/scsi.h7
-rw-r--r--include/scsi/scsi_cmnd.h1
2 files changed, 1 insertions, 7 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h
index 9f8f80ab0c8b..702fcfeb37f1 100644
--- a/include/scsi/scsi.h
+++ b/include/scsi/scsi.h
@@ -11,13 +11,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
  */
 
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h
index a5439a4b8f97..4a5fa2d1c44c 100644
--- a/include/scsi/scsi_cmnd.h
+++ b/include/scsi/scsi_cmnd.h
@@ -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 */