summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-05-28 14:41:30 +0200
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-05-31 19:15:22 +0200
commitdb2fbb1d61299a9de2e2c9df5d6a3f5727172009 (patch)
treee1af0b4fabb76eea3fdcf5b9330c81009dd10a35
parenta7a0425de7b1933fc53f1f5f3f3309adebd892bb (diff)
downloadceph-db2fbb1d61299a9de2e2c9df5d6a3f5727172009.tar.gz
bench/dumb_backend.cc: check return value of lseek()
CID 743395 (#1 of 1): Unchecked return value from library (CHECKED_RETURN) check_return: Calling function "lseek(fd, offset, 0)" without checking return value. This library function may fail and return an error code. unchecked_value: No check of the return value of "lseek(fd, offset, 0)". Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
-rw-r--r--src/test/bench/dumb_backend.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/test/bench/dumb_backend.cc b/src/test/bench/dumb_backend.cc
index 170fee7fab6..c36dce392da 100644
--- a/src/test/bench/dumb_backend.cc
+++ b/src/test/bench/dumb_backend.cc
@@ -22,7 +22,14 @@ void DumbBackend::_write(
std::cout << full_path << ": errno is " << errno << std::endl;
assert(0);
}
- ::lseek(fd, offset, SEEK_SET);
+
+ int r = ::lseek(fd, offset, SEEK_SET);
+ if (r < 0) {
+ r = errno;
+ std::cout << "lseek failed, errno is: " << r << std::endl;
+ ::close(fd);
+ return;
+ }
bl.write_fd(fd);
on_applied->complete(0);
if (do_fsync)
@@ -31,7 +38,7 @@ void DumbBackend::_write(
::sync_file_range(fd, offset, bl.length(),
SYNC_FILE_RANGE_WAIT_AFTER);
if (do_fadvise) {
- int fa_r = posix_fadvise(fd, offset, bl.length(), POSIX_FADV_DONTNEED);
+ int fa_r = ::posix_fadvise(fd, offset, bl.length(), POSIX_FADV_DONTNEED);
if (fa_r) {
std::cout << "posix_fadvise failed, errno is: " << fa_r << std::endl;
}
@@ -58,6 +65,8 @@ void DumbBackend::read(
int r = ::lseek(fd, offset, SEEK_SET);
if (r < 0) {
+ r = errno;
+ std::cout << "lseek failed, errno is: " << r << std::endl;
::close(fd);
return;
}