diff --git a/scst/README b/scst/README index 32e66aa17..6a87e55ab 100644 --- a/scst/README +++ b/scst/README @@ -660,4 +660,7 @@ Thanks to: * Terry Greeniaus for fixes. + * Jianxi Chen for fixing problems with + devices >2TB in size + Vladislav Bolkhovitin , http://scst.sourceforge.net diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 0469d1ea5..879db6a0e 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -713,9 +713,10 @@ static int vdisk_do_job(struct scst_cmd *cmd) lba_start |= ((u64)cdb[3]) << 48; lba_start |= ((u64)cdb[4]) << 40; lba_start |= ((u64)cdb[5]) << 32; - lba_start |= ((u64)cdb[6]) << 16; - lba_start |= ((u64)cdb[7]) << 8; - lba_start |= ((u64)cdb[8]); + lba_start |= ((u64)cdb[6]) << 24; + lba_start |= ((u64)cdb[7]) << 16; + lba_start |= ((u64)cdb[8]) << 8; + lba_start |= ((u64)cdb[9]); data_len = cmd->bufflen; break; }