From: Sage Weil Date: Thu, 9 May 2013 15:49:07 +0000 (-0700) Subject: mds: fix fd leak X-Git-Tag: v0.63~49^2^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=76b90240055308f87c4f58427be5f5479a369e73;p=ceph.git mds: fix fd leak Signed-off-by: Sage Weil --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 9df91b479614..191d04d6e6ef 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -10869,7 +10869,7 @@ void MDCache::dump_cache(const char *fn) string t = tt.str(); r = safe_write(fd, t.c_str(), t.length()); if (r < 0) - return; + goto out; for (CDir::map_t::iterator q = dir->items.begin(); q != dir->items.end(); @@ -10880,12 +10880,13 @@ void MDCache::dump_cache(const char *fn) string u = uu.str(); r = safe_write(fd, u.c_str(), u.length()); if (r < 0) - return; + goto out; } dir->check_rstats(); } } + out: ::close(fd); }