]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
monitorstore: drop unused sync value
authorSage Weil <sage@newdream.net>
Fri, 19 Aug 2011 16:49:16 +0000 (09:49 -0700)
committerSage Weil <sage@newdream.net>
Fri, 19 Aug 2011 16:53:57 +0000 (09:53 -0700)
This is inherently unsafe, because we write to a final filename without
ensuring the data is on disk.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mon/MonitorStore.cc
src/mon/MonitorStore.h

index 56596773ace156a09fbbbe063ea02d6d7c770a5b..b8b7e4b7a7cae97716d10ccff04d0ccd77d84eb9 100644 (file)
@@ -156,7 +156,7 @@ version_t MonitorStore::get_int(const char *a, const char *b)
 }
 
 
-void MonitorStore::put_int(version_t val, const char *a, const char *b, bool sync)
+void MonitorStore::put_int(version_t val, const char *a, const char *b)
 {
   char fn[1024];
   snprintf(fn, sizeof(fn), "%s/%s", dir.c_str(), a);
@@ -187,8 +187,7 @@ void MonitorStore::put_int(version_t val, const char *a, const char *b, bool syn
         << cpp_strerror(r) << dendl;
     ceph_abort();
   }
-  if (sync)
-    ::fsync(fd);
+  ::fsync(fd);
   if (TEMP_FAILURE_RETRY(::close(fd))) {
     derr << "MonitorStore::put_int: failed to close fd for '" << tfn << "': "
         << cpp_strerror(r) << dendl;
@@ -289,7 +288,7 @@ int MonitorStore::get_bl_ss(bufferlist& bl, const char *a, const char *b)
   return len;
 }
 
-int MonitorStore::write_bl_ss_impl(bufferlist& bl, const char *a, const char *b, bool append, bool sync)
+int MonitorStore::write_bl_ss_impl(bufferlist& bl, const char *a, const char *b, bool append)
 {
   char fn[1024];
   snprintf(fn, sizeof(fn), "%s/%s", dir.c_str(), a);
@@ -324,7 +323,7 @@ int MonitorStore::write_bl_ss_impl(bufferlist& bl, const char *a, const char *b,
   
   err = bl.write_fd(fd);
 
-  if (sync && !err)
+  if (!err)
     ::fsync(fd);
   ::close(fd);
   if (!append && !err) {
@@ -334,9 +333,9 @@ int MonitorStore::write_bl_ss_impl(bufferlist& bl, const char *a, const char *b,
   return err;
 }
 
-int MonitorStore::write_bl_ss(bufferlist& bl, const char *a, const char *b, bool append, bool sync)
+int MonitorStore::write_bl_ss(bufferlist& bl, const char *a, const char *b, bool append)
 {
-  int err = write_bl_ss_impl(bl, a, b, append,sync);
+  int err = write_bl_ss_impl(bl, a, b, append);
   assert(!err);  // for now
   return 0;
 }
index 13d67ff7f8a0ba7d921cfd2c4e4e42dad2e1eb12..7c19814fa6542e9094ed06a7d7cf6cf540f0f9ea 100644 (file)
@@ -26,9 +26,9 @@ class MonitorStore {
   int lock_fd;
 
   int write_bl_ss_impl(bufferlist& bl, const char *a, const char *b,
-                      bool append, bool sync);
+                      bool append);
   int write_bl_ss(bufferlist& bl, const char *a, const char *b,
-                 bool append, bool sync=true);
+                 bool append);
 public:
   MonitorStore(const std::string &d) : dir(d) { }
   ~MonitorStore() { }
@@ -41,17 +41,17 @@ public:
 
   // ints (stored as ascii)
   version_t get_int(const char *a, const char *b=0);
-  void put_int(version_t v, const char *a, const char *b=0, bool sync=true);
+  void put_int(version_t v, const char *a, const char *b=0);
 
   // buffers
   // ss and sn varieties.
   bool exists_bl_ss(const char *a, const char *b=0);
   int get_bl_ss(bufferlist& bl, const char *a, const char *b);
-  int put_bl_ss(bufferlist& bl, const char *a, const char *b, bool sync=true) {
-    return write_bl_ss(bl, a, b, false, sync);
+  int put_bl_ss(bufferlist& bl, const char *a, const char *b) {
+    return write_bl_ss(bl, a, b, false);
   }
-  int append_bl_ss(bufferlist& bl, const char *a, const char *b, bool sync=true) {
-    return write_bl_ss(bl, a, b, true, sync);
+  int append_bl_ss(bufferlist& bl, const char *a, const char *b) {
+    return write_bl_ss(bl, a, b, true);
   }
   bool exists_bl_sn(const char *a, version_t b) {
     char bs[20];
@@ -63,10 +63,10 @@ public:
     snprintf(bs, sizeof(bs), "%llu", (unsigned long long)b);
     return get_bl_ss(bl, a, bs);
   }
-  int put_bl_sn(bufferlist& bl, const char *a, version_t b, bool sync=true) {
+  int put_bl_sn(bufferlist& bl, const char *a, version_t b) {
     char bs[20];
     snprintf(bs, sizeof(bs), "%llu", (unsigned long long)b);
-    return put_bl_ss(bl, a, bs, sync);
+    return put_bl_ss(bl, a, bs);
   }
   /**
    * Put a whole set of values efficiently and safely.