ior -R should memset the buffer being read, otherwise a read that does nothing

will report success in the data verification phase.

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>
master
Mohamad Chaarawi 2019-10-16 14:54:00 +00:00
parent 2aea04c8cb
commit dc82a1bf2f
1 changed files with 4 additions and 2 deletions

View File

@ -1882,14 +1882,16 @@ static IOR_offset_t WriteOrReadSingle(IOR_offset_t pairCnt, IOR_offset_t *offset
*transferCount, test, *transferCount, test,
WRITECHECK); WRITECHECK);
} else if (access == READCHECK) { } else if (access == READCHECK) {
amtXferred = backend->xfer(access, fd, buffer, transfer, test); memset(checkBuffer, 'a', transfer);
amtXferred = backend->xfer(access, fd, checkBuffer, transfer, test);
if (amtXferred != transfer){ if (amtXferred != transfer){
ERR("cannot read from file"); ERR("cannot read from file");
} }
if (test->storeFileOffset == TRUE) { if (test->storeFileOffset == TRUE) {
FillBuffer(readCheckBuffer, test, test->offset, pretendRank); FillBuffer(readCheckBuffer, test, test->offset, pretendRank);
} }
*errors += CompareBuffers(readCheckBuffer, buffer, transfer, *transferCount, test, READCHECK); *errors += CompareBuffers(readCheckBuffer, checkBuffer, transfer, *transferCount, test, READCHECK);
} }
return amtXferred; return amtXferred;
} }