summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-03-12 20:10:38 +0100
committerTor Egge <Tor.Egge@broadpark.no>2019-03-12 20:10:38 +0100
commit8a50fe3fc0743bd21744b6e219617400b8457315 (patch)
tree71074dd8c15cec312825cf7bb9f2fb6d75eda4bf /searchlib
parent30de7ffd5c5a92d56246d3bc40df600b29f17278 (diff)
Stop using size_t for file offset or file size.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/apps/docstore/create-idx-from-dat.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/docstore/filechunk.h6
-rw-r--r--searchlib/src/vespa/searchlib/docstore/storebybucket.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/util/filesizecalculator.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/util/filesizecalculator.h2
-rw-r--r--searchlib/src/vespa/searchlib/util/fileutil.cpp6
6 files changed, 14 insertions, 12 deletions
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<Chunk>(_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<GenericHeader>();
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<char *>(_mapBuffer) + headerLen;
badHeader = false;