]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: check for errors in open, write in write_meta()
authorSage Weil <sage@newdream.net>
Sun, 12 Sep 2010 03:59:08 +0000 (20:59 -0700)
committerSage Weil <sage@newdream.net>
Sun, 12 Sep 2010 03:59:08 +0000 (20:59 -0700)
src/osd/OSD.cc

index f8de61eed5f30bb3f92c3a3e9590bec6d4dd35e7..56889c0a0985c5c9626f66781ac839441d0a8e9c 100644 (file)
@@ -238,9 +238,12 @@ int OSD::write_meta(const char *base, const char *file, const char *val, size_t
 
   snprintf(fn, sizeof(fn), "%s/%s", base, file);
   fd = ::open(fn, O_WRONLY|O_CREAT|O_TRUNC, 0644);
-  ::write(fd, val, vallen);
+  if (fd < 0)
+    return -errno;
+  int r = ::write(fd, val, vallen);
+  if (r < 0)
+    return -errno;
   ::close(fd);
-
   return 0;
 }