cciss: Initialize scsi host max_sectors for tape drive support
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Thu, 22 Mar 2012 20:40:08 +0000 (21:40 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 22 Mar 2012 20:40:08 +0000 (21:40 +0100)
The default is too small (1024 blocks), use h->cciss_max_sectors (8192 blocks)
Without this change, if you try to set the block size of a tape drive above
512*1024, via "mt -f /dev/st0 setblk nnn" where nnn is greater than 524288,
it won't work right.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/cciss_scsi.c

index e820b68..f510a9c 100644 (file)
@@ -866,6 +866,7 @@ cciss_scsi_detect(ctlr_info_t *h)
        sh->can_queue = cciss_tape_cmds;
        sh->sg_tablesize = h->maxsgentries;
        sh->max_cmd_len = MAX_COMMAND_SIZE;
+       sh->max_sectors = h->cciss_max_sectors;
 
        ((struct cciss_scsi_adapter_data_t *) 
                h->scsi_ctlr)->scsi_host = sh;