]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: MonitorStore: check return value of 'rename' for errors
authorJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 17 Oct 2012 16:14:19 +0000 (17:14 +0100)
committerJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 17 Oct 2012 16:47:55 +0000 (17:47 +0100)
CID 716854: Unchecked return value (CHECKED_RETURN)
At (10): Calling function "rename(tfn, fn)" without checking return value.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
src/mon/MonitorStore.cc

index 2f14c2ef390bdc0f25d85662910c401fee7d08d3..8806ad0d6a459a4cac43d42f8fce4d6b864e3bae 100644 (file)
@@ -370,7 +370,13 @@ int MonitorStore::write_bl_ss_impl(bufferlist& bl, const char *a, const char *b,
     ::fsync(fd);
   ::close(fd);
   if (!append && !err) {
-    ::rename(tfn, fn);
+    int r = ::rename(tfn, fn);
+    if (r < 0) {
+      err = -errno;
+      derr << __func__ << " failed to rename '" << tfn << "' -> '"
+          << fn << "': " << cpp_strerror(err) << dendl;
+      return err;
+    }
   }
 
   return err;