aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
authorFUJITA Tomonori <tomof@acm.org>2007-10-16 05:24:32 -0400
committerJens Axboe <jens.axboe@oracle.com>2007-10-16 05:24:32 -0400
commit9cb83c7529d929c00f37d821daed1942a1b20602 (patch)
treebb2fded1c443b1c370bdbe27076b62dc66eeddf2 /drivers/scsi/scsi_lib.c
parentc0dcffd71d5064efefa620231152c38eca8e066b (diff)
[SCSI] add use_sg_chaining option to scsi_host_template
This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q->max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r--drivers/scsi/scsi_lib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index c75cb6ad6d94..b6e6d801768b 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1645,7 +1645,10 @@ struct request_queue *__scsi_alloc_queue(struct Scsi_Host *shost,
1645 * converted, so better keep it safe. 1645 * converted, so better keep it safe.
1646 */ 1646 */
1647#ifdef ARCH_HAS_SG_CHAIN 1647#ifdef ARCH_HAS_SG_CHAIN
1648 blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); 1648 if (shost->use_sg_chaining)
1649 blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS);
1650 else
1651 blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS);
1649#else 1652#else
1650 blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); 1653 blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS);
1651#endif 1654#endif