]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: rename invalidate_forward
authorSage Weil <sage@inktank.com>
Tue, 10 Dec 2013 00:34:15 +0000 (16:34 -0800)
committerSage Weil <sage@inktank.com>
Sat, 14 Dec 2013 00:35:57 +0000 (16:35 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/ReplicatedPG.cc
src/osd/osd_types.h

index f72377845f9dabc86b1056c21a5e712911fcf65f..09c912bc3af29bb63e11de2e9b94477c75f48c57 100644 (file)
@@ -1241,7 +1241,10 @@ bool ReplicatedPG::maybe_handle_cache(OpRequestRef op, ObjectContextRef obc,
     promote_object(op, obc);
     return true;
 
-  case pg_pool_t::CACHEMODE_INVALIDATE_FORWARD:
+  case pg_pool_t::CACHEMODE_FORWARD:
+    if (obc.get() && obc->obs.exists) {
+      return false;
+    }
     do_cache_redirect(op, obc);
     return true;
 
index afba5562b2bb055cf3c2394167825cfc2272e51f..12913cc3c0b7124bc869d566e4acda3d3c0f351e 100644 (file)
@@ -745,14 +745,14 @@ struct pg_pool_t {
   typedef enum {
     CACHEMODE_NONE = 0,                  ///< no caching
     CACHEMODE_WRITEBACK = 1,             ///< write to cache, flush later
-    CACHEMODE_INVALIDATE_FORWARD = 2,    ///< delete from cache, forward write
+    CACHEMODE_FORWARD = 2,               ///< forward if not in cache
     CACHEMODE_READONLY = 3,              ///< handle reads, forward writes [not strongly consistent]
   } cache_mode_t;
   static const char *get_cache_mode_name(cache_mode_t m) {
     switch (m) {
     case CACHEMODE_NONE: return "none";
     case CACHEMODE_WRITEBACK: return "writeback";
-    case CACHEMODE_INVALIDATE_FORWARD: return "invalidate+forward";
+    case CACHEMODE_FORWARD: return "forward";
     case CACHEMODE_READONLY: return "readonly";
     default: return "unknown";
     }
@@ -762,8 +762,8 @@ struct pg_pool_t {
       return CACHEMODE_NONE;
     if (s == "writeback")
       return CACHEMODE_WRITEBACK;
-    if (s == "invalidate+forward")
-      return CACHEMODE_INVALIDATE_FORWARD;
+    if (s == "forward")
+      return CACHEMODE_FORWARD;
     if (s == "readonly")
       return CACHEMODE_READONLY;
     return (cache_mode_t)-1;