From: Saar D. <li...@ge...> - 2009-08-23 13:26:17
|
Hi, I have found a bug in the common.c code of the fileio relating to the *_16 handling, here is the diff (patch) between the good and buggy versions: --- common.c.bug 2009-08-23 15:52:18.000000000 -0400 +++ common.c 2009-08-23 15:53:08.000000000 -0400 @@ -354,9 +354,10 @@ lba_start |= ((uint64_t)cdb[3]) << 48; lba_start |= ((uint64_t)cdb[4]) << 40; lba_start |= ((uint64_t)cdb[5]) << 32; - lba_start |= ((uint64_t)cdb[6]) << 16; - lba_start |= ((uint64_t)cdb[7]) << 8; - lba_start |= ((uint64_t)cdb[8]); + lba_start |= ((uint64_t)cdb[6]) << 24; + lba_start |= ((uint64_t)cdb[7]) << 16; + lba_start |= ((uint64_t)cdb[8]) << 8; + lba_start |= ((uint64_t)cdb[9]); data_len = cmd->bufflen; break; } |