]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix fd leak
authorSage Weil <sage@inktank.com>
Thu, 9 May 2013 15:49:07 +0000 (08:49 -0700)
committerSage Weil <sage@inktank.com>
Thu, 9 May 2013 17:48:58 +0000 (10:48 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/mds/MDCache.cc

index 9df91b479614091a8af5b3b7f07317a74bf33891..191d04d6e6efb6c57ffc70759ac3d2fd2b8def5c 100644 (file)
@@ -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);
 }