• Tony Battersby's avatar
    libata: increase 128 KB / cmd limit for ATAPI tape drives · f8d8e579
    Tony Battersby authored
    Commands sent to ATAPI tape drives via the SCSI generic (sg) driver are
    limited in the amount of data that they can transfer by the max_sectors
    value.  The max_sectors value is currently calculated according to the
    command set for disk drives, which doesn't apply to tape drives.  The
    default max_sectors value of 256 limits ATAPI tape drive commands to
    128 KB.  This patch against 2.6.24-rc1 increases the max_sectors value
    for tape drives to 65535, which permits tape drive commands to transfer
    just under 32 MB.
    
    Tested with a SuperMicro PDSME motherboard, AHCI, and a Sony SDX-570V
    SATA tape drive.
    
    Note that some of the chipset drivers also set their own max_sectors
    value, which may override the value set in libata-core.  I don't have
    any of these chipsets to test, so I didn't go messing with them.  Also,
    ATAPI devices other than tape drives may benefit from similar changes,
    but I have only tape drives and disk drives to test.
    Signed-off-by: default avatarTony Battersby <tonyb@cybernetics.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    f8d8e579
libata-core.c 191 KB