]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/mds/MDCache.cc
update ceph source to reef 18.2.0
[ceph.git] / ceph / src / mds / MDCache.cc
index e814df9d4cb168c3bccad5a780bfe95192dcd2ae..a2aea7a49ab5e83bde132c7d36d82cd9d7402490 100644 (file)
@@ -309,6 +309,8 @@ void MDCache::remove_inode(CInode *o)
     snap_inode_map.erase(o->vino());
   }
 
+  clear_taken_inos(o->ino());
+
   if (o->ino() < MDS_INO_SYSTEM_BASE) {
     if (o == root) root = 0;
     if (o == myin) myin = 0;
@@ -11347,6 +11349,11 @@ void MDCache::handle_dentry_unlink(const cref_t<MDentryUnlink> &m)
       }
       ceph_assert(dnl->is_null());
       dn->state_clear(CDentry::STATE_UNLINKING);
+
+      MDSContext::vec finished;
+      dn->take_waiting(CDentry::WAIT_UNLINK_FINISH, finished);
+      mds->queue_waiters(finished);
+
     }
   }