We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 62e5e66 commit dc073b2Copy full SHA for dc073b2
src/overlaybd/lsmt/file.cpp
@@ -573,9 +573,19 @@ class LSMTReadOnlyFile : public IFileRW {
573
// LOG_DEBUG("offset: `, length: `", m.moffset, size);
574
ssize_t ret = m_files[m.tag]->pread(buf, size, m.moffset * ALIGNMENT);
575
if (ret < size) {
576
- LOG_ERRNO_RETURN(0, (int)ret,
577
- "failed to read from `-th file ( ` pread return: ` < size: `)",
578
- m.tag, m_files[m.tag], ret, size);
+ if (ret < 0) {
+ LOG_ERRNO_RETURN(0, -1,
+ "failed to read from `-th file ( ` pread return: ` < size: `)",
579
+ m.tag, m_files[m.tag], ret, size);
580
+ }
581
+ size_t ret2 = m_files[m.tag]->pread((char *)buf + ret, size - ret, m.moffset * ALIGNMENT + ret);
582
+ if (ret2) {
583
+ LOG_ERRNO_RETURN(0, (int)ret,
584
585
586
+ } else {
587
+ memset((char *)buf + ret, 0, size - ret);
588
589
}
590
lsmt_io_size += ret;
591
lsmt_io_cnt++;
0 commit comments