From: Sage Weil Date: Sun, 12 Sep 2010 03:59:08 +0000 (-0700) Subject: osd: check for errors in open, write in write_meta() X-Git-Tag: v0.21.3~19 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ca4bb65ef4d800fc37a0601adf5f57197bb52e6b;p=ceph.git osd: check for errors in open, write in write_meta() --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index f8de61eed5f3..56889c0a0985 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -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; }