diff options
author | FUJITA Tomonori <tomof@acm.org> | 2007-10-16 11:24:32 +0200 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-10-16 11:24:32 +0200 |
commit | 9cb83c7529d929c00f37d821daed1942a1b20602 (patch) | |
tree | bb2fded1c443b1c370bdbe27076b62dc66eeddf2 /drivers/scsi/scsi_lib.c | |
parent | c0dcffd71d5064efefa620231152c38eca8e066b (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.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index c75cb6ad6d9..b6e6d801768 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, * converted, so better keep it safe. */ #ifdef ARCH_HAS_SG_CHAIN - blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); + if (shost->use_sg_chaining) + blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); + else + blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); #else blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); #endif |