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