]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: Add assertion to catch object mutation error 873/head
authorYan, Zheng <zheng.z.yan@intel.com>
Tue, 26 Nov 2013 07:06:19 +0000 (15:06 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Tue, 26 Nov 2013 07:10:17 +0000 (15:10 +0800)
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/CDir.cc
src/mds/CInode.cc
src/mds/MDCache.cc
src/mds/SessionMap.cc

index 2c985e4775de49b866761894b4bd88ecd5826d70..596d717f6b6c05b253876e78b4737d0f78ef76a6 100644 (file)
@@ -1751,6 +1751,7 @@ class C_Dir_Committed : public Context {
 public:
   C_Dir_Committed(CDir *d, version_t v) : dir(d), version(v) { }
   void finish(int r) {
+    assert(r == 0);
     dir->_committed(version);
   }
 };
index 1fc57feea4de4a3651808986ad84b55b5f3e186b..c8b00ef8a2a27c9c751a4caa0c7d458204dcd14b 100644 (file)
@@ -873,6 +873,7 @@ struct C_Inode_Stored : public Context {
   Context *fin;
   C_Inode_Stored(CInode *i, version_t v, Context *f) : in(i), version(v), fin(f) {}
   void finish(int r) {
+    assert(r == 0);
     in->_stored(version, fin);
   }
 };
@@ -1002,6 +1003,7 @@ struct C_Inode_StoredBacktrace : public Context {
   Context *fin;
   C_Inode_StoredBacktrace(CInode *i, version_t v, Context *f) : in(i), version(v), fin(f) {}
   void finish(int r) {
+    assert(r == 0);
     in->_stored_backtrace(version, fin);
   }
 };
index 17d4ce49188fa7001c1eefc2b88936778da658dd..04ed1d2a31b2c534f0547b9c794c75393ff45c2a 100644 (file)
@@ -5866,7 +5866,7 @@ struct C_MDC_TruncateFinish : public Context {
   C_MDC_TruncateFinish(MDCache *c, CInode *i, LogSegment *l) :
     mdc(c), in(i), ls(l) {}
   void finish(int r) {
-    assert(r != -EINVAL);
+    assert(r == 0 || r == -ENOENT);
     mdc->truncate_inode_finish(in, ls);
   }
 };
@@ -9298,6 +9298,7 @@ public:
   C_MDC_PurgeStrayPurged(MDCache *c, CDentry *d) : 
     cache(c), dn(d) { }
   void finish(int r) {
+    assert(r == 0 || r == -ENOENT);
     cache->_purge_stray_purged(dn, r);
   }
 };
@@ -11100,6 +11101,7 @@ public:
     resultfrags.swap(l);
   }
   virtual void finish(int r) {
+    assert(r == 0 || r == -ENOENT);
     mdcache->_fragment_finish(basedirfrag, resultfrags);
   }
 };
index f17fa9e46c10e5525edf8078223ac6451db713c6..4c17f5309b71c669780bdc04c0f019eef780039c 100644 (file)
@@ -103,7 +103,8 @@ class C_SM_Save : public Context {
 public:
   C_SM_Save(SessionMap *cm, version_t v) : sessionmap(cm), version(v) {}
   void finish(int r) {
-       sessionmap->_save_finish(version);
+    assert(r == 0);
+    sessionmap->_save_finish(version);
   }
 };