Messages in this thread Patch in this message | | | Date | Wed, 01 Jun 2011 17:10:05 +0900 | From | Greg KH <> | Subject | [035/165] libata: Use Maximum Write Same Length to report discard size |
| |
2.6.39-stable review patch. If anyone has any objections, please let us know.
------------------ limit Content-Length: 1118 Lines: 33
From: "Martin K. Petersen" <martin.petersen@oracle.com>
commit 5f4e206666f834340b69ddb43f86de3851c8675a upstream.
Previously we used Maximum Unmap LBA Count in the Block Limits VPD to signal the maximum number of sectors we could handle in a single Write Same command.
Starting with SBC3r26 the Block Limits VPD has an explicit limit on the number of blocks in a Write Same. This means we can stop abusing a field related to the Unmap command and let our SAT use the proper value in the VPD (Maximum Write Same Length).
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/ata/libata-scsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -2139,7 +2139,7 @@ static unsigned int ata_scsiop_inq_b0(st * with the unmap bit set. */ if (ata_id_has_trim(args->id)) { - put_unaligned_be32(65535 * 512 / 8, &rbuf[20]); + put_unaligned_be64(65535 * 512 / 8, &rbuf[36]); put_unaligned_be32(1, &rbuf[28]); }
| |