From: Yan, Zheng Date: Tue, 26 Nov 2013 07:06:19 +0000 (+0800) Subject: mds: Add assertion to catch object mutation error X-Git-Tag: v0.74~58^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b0dce8a0dc7346ebeef05ae4dc6096f35c1e0b58;p=ceph.git mds: Add assertion to catch object mutation error Signed-off-by: Yan, Zheng --- diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc index 2c985e4775de..596d717f6b6c 100644 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -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); } }; diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 1fc57feea4de..c8b00ef8a2a2 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -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); } }; diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 17d4ce49188f..04ed1d2a31b2 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -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); } }; diff --git a/src/mds/SessionMap.cc b/src/mds/SessionMap.cc index f17fa9e46c10..4c17f5309b71 100644 --- a/src/mds/SessionMap.cc +++ b/src/mds/SessionMap.cc @@ -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); } };