From: xiexingguo <258156334@qq.com> Date: Sun, 20 Dec 2015 13:41:46 +0000 (+0800) Subject: FileJournal: fix return code of create method X-Git-Tag: v10.0.3~183^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F6988%2Fhead;p=ceph.git FileJournal: fix return code of create method Shall return negative error code instead. Fixes: #14134 Signed-off-by: xie xingguo --- diff --git a/src/os/FileJournal.cc b/src/os/FileJournal.cc index 67454c2a6da5..698f2b31c079 100644 --- a/src/os/FileJournal.cc +++ b/src/os/FileJournal.cc @@ -389,7 +389,7 @@ int FileJournal::create() bp = prepare_header(); if (TEMP_FAILURE_RETRY(::pwrite(fd, bp.c_str(), bp.length(), 0)) < 0) { - ret = errno; + ret = -errno; derr << "FileJournal::create : create write header error " << cpp_strerror(ret) << dendl; goto close_fd; @@ -398,13 +398,14 @@ int FileJournal::create() // zero first little bit, too. ret = posix_memalign(&buf, block_size, block_size); if (ret) { + ret = -ret; derr << "FileJournal::create: failed to allocate " << block_size << " bytes of memory: " << cpp_strerror(ret) << dendl; goto close_fd; } memset(buf, 0, block_size); if (TEMP_FAILURE_RETRY(::pwrite(fd, buf, block_size, get_top())) < 0) { - ret = errno; + ret = -errno; derr << "FileJournal::create: error zeroing first " << block_size << " bytes " << cpp_strerror(ret) << dendl; goto free_buf; @@ -427,10 +428,9 @@ free_buf: buf = 0; close_fd: if (TEMP_FAILURE_RETRY(::close(fd)) < 0) { - ret = errno; + ret = -errno; derr << "FileJournal::create: error closing fd: " << cpp_strerror(ret) << dendl; - goto done; } done: fd = -1;