]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mdcache: check return values when purging an inode.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 11 May 2011 17:30:57 +0000 (10:30 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 11 May 2011 18:37:21 +0000 (11:37 -0700)
Previously we weren't looking, and if there's a problem
we probably shouldn't be moving on.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/mds/MDCache.cc
src/mds/MDCache.h

index 521be12a7a95d6d0960a013ff219e95c1d1579a0..6388545580d570dfdbe4b3827ed9f1a3cad90f8a 100644 (file)
@@ -7893,7 +7893,7 @@ public:
   C_MDC_PurgeStrayPurged(MDCache *c, CDentry *d) : 
     cache(c), dn(d) { }
   void finish(int r) {
-    cache->_purge_stray_purged(dn);
+    cache->_purge_stray_purged(dn, r);
   }
 };
 
@@ -7978,8 +7978,9 @@ public:
   }
 };
 
-void MDCache::_purge_stray_purged(CDentry *dn)
+void MDCache::_purge_stray_purged(CDentry *dn, int r)
 {
+  assert (r == 0 || r == -ENOENT);
   CInode *in = dn->get_projected_linkage()->get_inode();
   dout(10) << "_purge_stray_purged " << *dn << " " << *in << dendl;
 
index 5ead930b8eb3d137ae2da1bddaa35a704d74a7ca..07dc393757020f1405c6bc8b8538eec4010ec97e 100644 (file)
@@ -1088,7 +1088,7 @@ public:
   }
 protected:
   void purge_stray(CDentry *dn);
-  void _purge_stray_purged(CDentry *dn);
+  void _purge_stray_purged(CDentry *dn, int r=0);
   void _purge_stray_logged(CDentry *dn, version_t pdv, LogSegment *ls);
   void _purge_stray_logged_truncate(CDentry *dn, LogSegment *ls);
   friend class C_MDC_PurgeStrayLogged;