diff options
author | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-05-28 14:41:30 +0200 |
---|---|---|
committer | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-05-31 19:15:22 +0200 |
commit | db2fbb1d61299a9de2e2c9df5d6a3f5727172009 (patch) | |
tree | e1af0b4fabb76eea3fdcf5b9330c81009dd10a35 | |
parent | a7a0425de7b1933fc53f1f5f3f3309adebd892bb (diff) | |
download | ceph-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.cc | 13 |
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; } |