]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: don't leak fd on error
authorSage Weil <sage.weil@dreamhost.com>
Tue, 1 Feb 2011 04:58:47 +0000 (20:58 -0800)
committerSage Weil <sage.weil@dreamhost.com>
Tue, 1 Feb 2011 04:58:47 +0000 (20:58 -0800)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/osd/OSD.cc

index 870bac7023444d4f6f9bcd8adc45399866bae7b7..a694502c53e29c165ea6d68c665bcd5198cf7658 100644 (file)
@@ -249,9 +249,11 @@ int OSD::write_meta(const char *base, const char *file, const char *val, size_t
     return -errno;
   int r = ::write(fd, val, vallen);
   if (r < 0)
-    return -errno;
+    r = -errno;
+  else
+    r = 0;
   ::close(fd);
-  return 0;
+  return r;
 }
 
 int OSD::read_meta(const char *base, const char *file, char *val, size_t vallen)