From: xie xingguo Date: Wed, 25 May 2016 08:22:26 +0000 (+0800) Subject: tools: fix fd leak during "rados export" X-Git-Tag: ses5-milestone5~292^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d046dce73538b3f9ba3a3434616bfd6572d6e69c;p=ceph.git tools: fix fd leak during "rados export" Signed-off-by: xie xingguo --- diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index 9d2006752256..9b2414de2800 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -3216,6 +3216,11 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, } ret = PoolDump(file_fd).dump(&io_ctx); + + if (file_fd != STDIN_FILENO) { + VOID_TEMP_FAILURE_RETRY(::close(file_fd)); + } + if (ret < 0) { cerr << "error from export: " << cpp_strerror(ret) << std::endl;