diff options
-rw-r--r-- | fastlib/src/vespa/fastlib/io/bufferedfile.cpp | 3 | ||||
-rw-r--r-- | fastlib/src/vespa/fastlib/io/bufferedfile.h | 2 | ||||
-rw-r--r-- | fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp | 10 | ||||
-rw-r--r-- | fastos/src/vespa/fastos/file.cpp | 4 | ||||
-rw-r--r-- | fastos/src/vespa/fastos/file.h | 4 | ||||
-rw-r--r-- | fastos/src/vespa/fastos/linux_file.h | 2 | ||||
-rw-r--r-- | fastos/src/vespa/fastos/unix_file.h | 2 | ||||
-rw-r--r-- | searchlib/src/apps/docstore/create-idx-from-dat.cpp | 3 | ||||
-rw-r--r-- | searchlib/src/tests/util/rawbuf_test.cpp | 4 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp | 3 |
10 files changed, 20 insertions, 17 deletions
diff --git a/fastlib/src/vespa/fastlib/io/bufferedfile.cpp b/fastlib/src/vespa/fastlib/io/bufferedfile.cpp index cbe95e286b7..d93dbd74ee1 100644 --- a/fastlib/src/vespa/fastlib/io/bufferedfile.cpp +++ b/fastlib/src/vespa/fastlib/io/bufferedfile.cpp @@ -238,7 +238,8 @@ Fast_BufferedFile::ReadLine(char *line, size_t buflen) } } -ssize_t Fast_BufferedFile::Write2(const void * src, size_t srclen) +ssize_t +Fast_BufferedFile::Write2(const void * src, size_t srclen) { const char *p, *pe; p = static_cast<const char *>(src); diff --git a/fastlib/src/vespa/fastlib/io/bufferedfile.h b/fastlib/src/vespa/fastlib/io/bufferedfile.h index cdeb817b0de..ab01919d91a 100644 --- a/fastlib/src/vespa/fastlib/io/bufferedfile.h +++ b/fastlib/src/vespa/fastlib/io/bufferedfile.h @@ -107,7 +107,7 @@ public: * @param src The source buffer. * @param srclen The length of the source buffer. */ - ssize_t Write2(const void*, size_t) override; + [[nodiscard]] ssize_t Write2(const void*, size_t) override; /** * Write a string to a buffered file, flushing to file * as necessary. diff --git a/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp b/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp index 0e27cb525af..8aa9b943419 100644 --- a/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp +++ b/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp @@ -19,7 +19,7 @@ TEST("main") { printf ("testing 11 byte long file\n"); bufFile.WriteOpen("testfile1"); bufFile.addNum(1,10,' '); - bufFile.CheckedWrite("\n",1); + ASSERT_TRUE(bufFile.CheckedWrite("\n",1)); ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile1", &statInfo); if (statInfo._size != 11) { @@ -33,7 +33,7 @@ TEST("main") { bufFile.WriteOpen("testfile2"); char buf[8192]; // allocate 8K buffer memset(buf,0xff,8192); - bufFile.CheckedWrite(buf,4095); // write almost 4K + ASSERT_TRUE(bufFile.CheckedWrite(buf,4095)); // write almost 4K ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile2", &statInfo); if (statInfo._size != 4095) { @@ -45,7 +45,7 @@ TEST("main") { // test 3 printf ("testing 4096 byte long file\n"); bufFile.WriteOpen("testfile3"); - bufFile.CheckedWrite(buf,4096); // write exactly 4K + ASSERT_TRUE(bufFile.CheckedWrite(buf,4096)); // write exactly 4K ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile3", &statInfo); if (statInfo._size != 4096) { @@ -57,7 +57,7 @@ TEST("main") { // test 4 printf ("testing 4097 byte long file\n"); bufFile.WriteOpen("testfile4"); - bufFile.CheckedWrite(buf,4097); // write a bit over 4K + ASSERT_TRUE(bufFile.CheckedWrite(buf,4097)); // write a bit over 4K ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile4", &statInfo); if (statInfo._size != 4097) { @@ -74,7 +74,7 @@ TEST("main") { bufFile.addNum(value,6,' '); value++; } - bufFile.CheckedWrite("\n",1); + ASSERT_TRUE(bufFile.CheckedWrite("\n",1)); } ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile5", &statInfo); diff --git a/fastos/src/vespa/fastos/file.cpp b/fastos/src/vespa/fastos/file.cpp index fc7074d7815..4f585e7daeb 100644 --- a/fastos/src/vespa/fastos/file.cpp +++ b/fastos/src/vespa/fastos/file.cpp @@ -245,8 +245,8 @@ FastOS_FileInterface::CopyFile( const char *src, const char *dst ) do { unsigned int readBytes = s.Read( tmpBuf, bufSize ); if (readBytes > 0) { - - if ( !d.CheckedWrite( tmpBuf, readBytes)) { + ssize_t written = d.Write2(tmpBuf, readBytes); + if ( written != readBytes) { success = false; } copied += readBytes; diff --git a/fastos/src/vespa/fastos/file.h b/fastos/src/vespa/fastos/file.h index aa8f495d064..611e179adf0 100644 --- a/fastos/src/vespa/fastos/file.h +++ b/fastos/src/vespa/fastos/file.h @@ -334,7 +334,7 @@ public: * @param len number of bytes to write * @return Boolean success/failure */ - bool CheckedWrite(const void *buffer, size_t len); + [[nodiscard]] bool CheckedWrite(const void *buffer, size_t len); /** * Write [len] bytes from [buffer]. @@ -342,7 +342,7 @@ public: * @param len number of bytes to write * @return The number of bytes actually written, or -1 on error */ - virtual ssize_t Write2(const void *buffer, size_t len) = 0; + [[nodiscard]] virtual ssize_t Write2(const void *buffer, size_t len) = 0; /** * Read [length] bytes into [buffer]. Caution! If the actual number diff --git a/fastos/src/vespa/fastos/linux_file.h b/fastos/src/vespa/fastos/linux_file.h index ababf51d26d..6ba5cdc8fea 100644 --- a/fastos/src/vespa/fastos/linux_file.h +++ b/fastos/src/vespa/fastos/linux_file.h @@ -37,7 +37,7 @@ public: ssize_t Read(void *buffer, size_t len) override; - ssize_t Write2(const void *buffer, size_t len) override; + [[nodiscard]] ssize_t Write2(const void *buffer, size_t len) override; bool Open(unsigned int openFlags, const char *filename) override; static bool InitializeClass(); diff --git a/fastos/src/vespa/fastos/unix_file.h b/fastos/src/vespa/fastos/unix_file.h index 891b5e0dba7..86e89ffde95 100644 --- a/fastos/src/vespa/fastos/unix_file.h +++ b/fastos/src/vespa/fastos/unix_file.h @@ -59,7 +59,7 @@ public: void ReadBuf(void *buffer, size_t length, int64_t readOffset) override; ssize_t Read(void *buffer, size_t len) override; - ssize_t Write2(const void *buffer, size_t len) override; + [[nodiscard]] ssize_t Write2(const void *buffer, size_t len) override; bool Open(unsigned int openFlags, const char *filename) override; [[nodiscard]] bool Close() override; bool IsOpened() const override { return _filedes >= 0; } diff --git a/searchlib/src/apps/docstore/create-idx-from-dat.cpp b/searchlib/src/apps/docstore/create-idx-from-dat.cpp index 477282fdbf4..30af02ddb92 100644 --- a/searchlib/src/apps/docstore/create-idx-from-dat.cpp +++ b/searchlib/src/apps/docstore/create-idx-from-dat.cpp @@ -79,7 +79,8 @@ generate(uint64_t serialNum, size_t chunks, FastOS_FileInterface & idxFile, size fprintf(stdout, "Failed with lengthError %ld due to '%s'\n", lengthError, e.what()); } } - idxFile.Write2(os.data(), os.size()); + ssize_t written = idxFile.Write2(os.data(), os.size()); + assert(written == ssize_t(os.size())); return serialNum; } diff --git a/searchlib/src/tests/util/rawbuf_test.cpp b/searchlib/src/tests/util/rawbuf_test.cpp index 1963833947f..fd77b5b4ddb 100644 --- a/searchlib/src/tests/util/rawbuf_test.cpp +++ b/searchlib/src/tests/util/rawbuf_test.cpp @@ -118,8 +118,8 @@ TEST("require that prealloc makes enough room") { TEST("require that rawbuf can read from file") { FastOS_File file("mytemporaryfile"); - file.OpenReadWrite(); - file.Write2("barbaz", 6); + ASSERT_TRUE(file.OpenReadWrite()); + ASSERT_EQUAL(6, file.Write2("barbaz", 6)); file.SetPosition(0); RawBuf buf(10); diff --git a/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp b/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp index 3a24d348676..eea9610c7ab 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp @@ -430,7 +430,8 @@ void DomainPart::write(FastOS_FileInterface &file, SerialNumRange range, vespalib::ConstBufferRef buf) { std::lock_guard guard(_writeLock); - if ( ! file.CheckedWrite(buf.data(), buf.size()) ) { + size_t written = file.Write2(buf.data(), buf.size()); + if ( written != buf.size() ) { throw runtime_error(handleWriteError("Failed writing the entry.", file, byteSize(), range, buf.size())); } LOG(debug, "Wrote chunk with and %zu bytes, range[%" PRIu64 ", %" PRIu64 "]", buf.size(), range.from(), range.to()); |