Index: b/include/linux/blkdev.h =================================================================== --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1026,6 +1026,6 @@ extern int blk_verify_command(unsigned c enum blk_default_limits { - BLK_MAX_SEGMENTS = 128, + BLK_MAX_SEGMENTS = 256, BLK_SAFE_MAX_SECTORS = 255, - BLK_DEF_MAX_SECTORS = 1024, + BLK_DEF_MAX_SECTORS = 2048, BLK_MAX_SEGMENT_SIZE = 65536, BLK_SEG_BOUNDARY_MASK = 0xFFFFFFFFUL, }; Index: linux-2.6.32.x86_64/include/scsi/scsi.h =================================================================== --- linux-2.6.32.x86_64.orig/include/scsi/scsi.h 2010-10-26 21:45:52.000000000 +0300 +++ linux-2.6.32.x86_64/include/scsi/scsi.h 2010-10-29 11:16:35.000000000 +0300 @@ -19,7 +19,7 @@ struct scsi_cmnd; * to SG_MAX_SINGLE_ALLOC to pack correctly at the highest order. The * minimum value is 32 */ -#define SCSI_MAX_SG_SEGMENTS 128 +#define SCSI_MAX_SG_SEGMENTS 256 /* * Like SCSI_MAX_SG_SEGMENTS, but for archs that have sg chaining. This limit Index: linux-2.6.32.x86_64/drivers/scsi/isci/init.c =================================================================== --- linux-2.6.32.x86_64/drivers/scsi/isci/init.c +++ linux-2.6.32.x86_64/drivers/scsi/isci/init.c @@ -19,7 +19,7 @@ .can_queue = ISCI_CAN_QUEUE_VAL, .cmd_per_lun = 1, .this_id = -1, - .sg_tablesize = SG_ALL, + .sg_tablesize = 128, .max_sectors = SCSI_DEFAULT_MAX_SECTORS, .use_clustering = ENABLE_CLUSTERING, .eh_device_reset_handler = sas_eh_device_reset_handler,