From 8a50fe3fc0743bd21744b6e219617400b8457315 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Tue, 12 Mar 2019 20:10:38 +0100 Subject: Stop using size_t for file offset or file size. --- searchlib/src/apps/docstore/create-idx-from-dat.cpp | 8 ++++---- searchlib/src/vespa/searchlib/docstore/filechunk.h | 6 +++--- searchlib/src/vespa/searchlib/docstore/storebybucket.cpp | 2 +- searchlib/src/vespa/searchlib/util/filesizecalculator.cpp | 2 +- searchlib/src/vespa/searchlib/util/filesizecalculator.h | 2 +- searchlib/src/vespa/searchlib/util/fileutil.cpp | 6 ++++-- 6 files changed, 14 insertions(+), 12 deletions(-) (limited to 'searchlib') diff --git a/searchlib/src/apps/docstore/create-idx-from-dat.cpp b/searchlib/src/apps/docstore/create-idx-from-dat.cpp index 6124b36de8d..b6794832afb 100644 --- a/searchlib/src/apps/docstore/create-idx-from-dat.cpp +++ b/searchlib/src/apps/docstore/create-idx-from-dat.cpp @@ -51,10 +51,10 @@ bool validHead(const char * n, size_t offset) { return (n[0] == 0) && (validUncompressed(n, offset)); } -size_t -generate(size_t serialNum, size_t chunks, FastOS_FileInterface & idxFile, size_t sz, const char * current, const char * start, const char * nextStart) __attribute__((noinline)); -size_t -generate(size_t serialNum, size_t chunks, FastOS_FileInterface & idxFile, size_t sz, const char * current, const char * start, const char * nextStart) +uint64_t +generate(uint64_t serialNum, size_t chunks, FastOS_FileInterface & idxFile, size_t sz, const char * current, const char * start, const char * nextStart) __attribute__((noinline)); +uint64_t +generate(uint64_t serialNum, size_t chunks, FastOS_FileInterface & idxFile, size_t sz, const char * current, const char * start, const char * nextStart) { vespalib::nbostream os; for (size_t lengthError(0); int64_t(sz+lengthError) <= nextStart-start; lengthError++) { diff --git a/searchlib/src/vespa/searchlib/docstore/filechunk.h b/searchlib/src/vespa/searchlib/docstore/filechunk.h index 7d79760a61c..567e078b622 100644 --- a/searchlib/src/vespa/searchlib/docstore/filechunk.h +++ b/searchlib/src/vespa/searchlib/docstore/filechunk.h @@ -220,15 +220,15 @@ protected: { public: ChunkInfo() : _lastSerial(0), _offset(0), _size(0) { } - ChunkInfo(size_t offset, uint32_t size, uint64_t lastSerial); - size_t getOffset() const { return _offset; } + ChunkInfo(uint64_t offset, uint32_t size, uint64_t lastSerial); + uint64_t getOffset() const { return _offset; } uint32_t getSize() const { return _size; } uint64_t getLastSerial() const { return _lastSerial; } bool valid() const { return (_offset != 0) || (_size != 0) || (_lastSerial != 0); } private: uint64_t _lastSerial; - size_t _offset; + uint64_t _offset; uint32_t _size; }; diff --git a/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp b/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp index fe6da8a4cf0..d0d2d1cdac2 100644 --- a/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp +++ b/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp @@ -46,7 +46,7 @@ StoreByBucket::createChunk() return std::make_unique(_chunkSerial++, Chunk::Config(0x10000)); } -uint64_t +size_t StoreByBucket::getChunkCount() const { vespalib::LockGuard guard(_lock); return _chunks.size(); diff --git a/searchlib/src/vespa/searchlib/util/filesizecalculator.cpp b/searchlib/src/vespa/searchlib/util/filesizecalculator.cpp index 1e57f6e33af..3adccb2f815 100644 --- a/searchlib/src/vespa/searchlib/util/filesizecalculator.cpp +++ b/searchlib/src/vespa/searchlib/util/filesizecalculator.cpp @@ -22,7 +22,7 @@ bool byteAligned(uint64_t bitSize) bool FileSizeCalculator::extractFileSize(const vespalib::GenericHeader &header, size_t headerLen, - vespalib::string fileName, size_t &fileSize) + vespalib::string fileName, uint64_t &fileSize) { if (!header.hasTag(fileBitSizeTag)) { return true; diff --git a/searchlib/src/vespa/searchlib/util/filesizecalculator.h b/searchlib/src/vespa/searchlib/util/filesizecalculator.h index 4bd408ddb3b..bdd20475c43 100644 --- a/searchlib/src/vespa/searchlib/util/filesizecalculator.h +++ b/searchlib/src/vespa/searchlib/util/filesizecalculator.h @@ -20,7 +20,7 @@ class FileSizeCalculator public: static bool extractFileSize(const vespalib::GenericHeader &header, size_t headerLen, - vespalib::string fileName, size_t &fileSize); + vespalib::string fileName, uint64_t &fileSize); }; } diff --git a/searchlib/src/vespa/searchlib/util/fileutil.cpp b/searchlib/src/vespa/searchlib/util/fileutil.cpp index 674608bdda1..559042a8c7a 100644 --- a/searchlib/src/vespa/searchlib/util/fileutil.cpp +++ b/searchlib/src/vespa/searchlib/util/fileutil.cpp @@ -31,7 +31,8 @@ LoadedMmap::LoadedMmap(const vespalib::string &fileName) struct stat stbuf; int res = fstat(fd.fd(), &stbuf); if (res == 0) { - size_t sz = stbuf.st_size; + uint64_t fileSize = stbuf.st_size; + size_t sz = fileSize; if (sz) { void *tmpBuffer = mmap(NULL, sz, PROT_READ, MAP_PRIVATE, fd.fd(), 0); if (tmpBuffer != MAP_FAILED) { @@ -44,7 +45,8 @@ LoadedMmap::LoadedMmap(const vespalib::string &fileName) _header = std::make_unique(); size_t headerLen = _header->read(rd); if ((headerLen <= _mapSize) && - FileSizeCalculator::extractFileSize(*_header, headerLen, fileName, sz)) { + FileSizeCalculator::extractFileSize(*_header, headerLen, fileName, fileSize)) { + sz = fileSize; _size = sz - headerLen; _buffer = static_cast(_mapBuffer) + headerLen; badHeader = false; -- cgit v1.2.3