Lines Matching refs:mmapInfo
81 int32_t RandomAccessFile::DoMMap(int32_t bufCapacity, int64_t offset, MmapInfo& mmapInfo)
89 mmapInfo.mapAddr = reinterpret_cast<char*>(MAP_FAILED);
100 mmapInfo.mmapPosition = (offset / memoryPageSize) * memoryPageSize;
102 mmapInfo.readMoreLen = static_cast<int>(offset - mmapInfo.mmapPosition);
103 mmapInfo.mmapSize = bufCapacity + mmapInfo.readMoreLen;
104 mmapInfo.mapAddr = reinterpret_cast<char*>(mmap(nullptr, mmapInfo.mmapSize, PROT_READ | PROT_WRITE,
105 MAP_SHARED | MAP_POPULATE, fd, mmapInfo.mmapPosition));
106 if (mmapInfo.mapAddr == MAP_FAILED) {
120 MmapInfo mmapInfo;
121 int32_t ret = DoMMap(bufCapacity, offset, mmapInfo);
126 if (memcpy_s(buf, bufCapacity, mmapInfo.mapAddr + mmapInfo.readMoreLen,
127 mmapInfo.mmapSize - mmapInfo.readMoreLen) != EOK) {
128 munmap(mmapInfo.mapAddr, mmapInfo.mmapSize);
132 munmap(mmapInfo.mapAddr, mmapInfo.mmapSize);
143 MmapInfo mmapInfo;
145 int64_t ret = DoMMap(bufCapacity, offset, mmapInfo);
150 buffer.PutData(0, mmapInfo.mapAddr + mmapInfo.readMoreLen, bufCapacity);
151 munmap(mmapInfo.mapAddr, mmapInfo.mmapSize);
172 MmapInfo mmapInfo;
174 int32_t ret = DoMMap(bufCapacity, position, mmapInfo);
180 if (memcpy_s(mmapInfo.mapAddr + mmapInfo.readMoreLen,
181 mmapInfo.mmapSize - mmapInfo.readMoreLen,
186 munmap(mmapInfo.mapAddr, mmapInfo.mmapSize);
193 MmapInfo mmapInfo;
194 int32_t ret = DoMMap(chunkSize, offset, mmapInfo);
199 unsigned char* content = reinterpret_cast<unsigned char*>(mmapInfo.mapAddr + mmapInfo.readMoreLen);
201 munmap(mmapInfo.mapAddr, mmapInfo.mmapSize);