explicit MDCache(MDSRank *m, PurgeQueue &purge_queue_);
~MDCache();
+ void insert_taken_inos(inodeno_t ino) {
+ replay_taken_inos.insert(ino);
+ }
+ void clear_taken_inos(inodeno_t ino) {
+ replay_taken_inos.erase(ino);
+ }
+ bool test_and_clear_taken_inos(inodeno_t ino) {
+ return replay_taken_inos.erase(ino) != 0;
+ }
+ bool is_taken_inos_empty(void) {
+ return replay_taken_inos.empty();
+ }
+
uint64_t cache_limit_memory(void) {
return cache_memory_limit;
}
StrayManager stray_manager;
private:
+ std::set<inodeno_t> replay_taken_inos; // the inos have been taken when replaying
+
// -- fragmenting --
struct ufragment {
ufragment() {}