These were common between CInode, CDir, CDentry.
Signed-off-by: John Spray <john.spray@redhat.com>
elist<CDentry*>::item item_stray;
protected:
- int auth_pins, nested_auth_pins;
-#ifdef MDS_AUTHPIN_SET
- multiset<void*> auth_pin_set;
-#endif
friend class Migrator;
friend class Locker;
friend class MDCache;
dir(0),
version(0), projected_version(0),
item_dirty(this),
- auth_pins(0), nested_auth_pins(0),
lock(this, &lock_type),
versionlock(this, &versionlock_type) {
g_num_dn++;
dir(0),
version(0), projected_version(0),
item_dirty(this),
- auth_pins(0), nested_auth_pins(0),
lock(this, &lock_type),
versionlock(this, &versionlock_type) {
g_num_dn++;
void adjust_nested_auth_pins(int adjustment, int diradj, void *by);
bool is_frozen() const;
bool is_freezing() const;
- bool is_auth_pinned() const { return auth_pins || nested_auth_pins; }
- int get_num_auth_pins() const { return auth_pins; }
int get_num_dir_auth_pins() const;
- int get_num_nested_auth_pins() const { return nested_auth_pins; }
// remote links
void link_remote(linkage_t *dnl, CInode *in);
if (auth)
state |= STATE_AUTH;
- auth_pins = 0;
- nested_auth_pins = 0;
dir_auth_pins = 0;
request_pins = 0;
static int num_frozen_trees;
static int num_freezing_trees;
- int auth_pins;
-#ifdef MDS_AUTHPIN_SET
- multiset<void*> auth_pin_set;
-#endif
- int nested_auth_pins, dir_auth_pins;
+ int dir_auth_pins;
int request_pins;
// cache control (defined for authority; hints for replicas)
if (request_pins == 0) put(PIN_REQUEST);
}
-
// -- waiters --
protected:
compact_map< string_snap_t, std::list<MDSInternalContextBase*> > waiting_on_dentry;
}
void decode_import(bufferlist::iterator& blp, utime_t now, LogSegment *ls);
-
// -- auth pins --
bool can_auth_pin() const { return is_auth() && !(is_frozen() || is_freezing()); }
int get_cum_auth_pins() const { return auth_pins + nested_auth_pins; }
elist<CInode*>::item item_dirty_dirfrag_nest;
elist<CInode*>::item item_dirty_dirfrag_dirfragtree;
-private:
- // auth pin
- int auth_pins;
- int nested_auth_pins;
public:
-#ifdef MDS_AUTHPIN_SET
- multiset<void*> auth_pin_set;
-#endif
int auth_pin_freeze_allowance;
inode_load_vec_t pop;
item_dirty_dirfrag_dir(this),
item_dirty_dirfrag_nest(this),
item_dirty_dirfrag_dirfragtree(this),
- auth_pins(0), nested_auth_pins(0),
auth_pin_freeze_allowance(0),
pop(ceph_clock_now(g_ceph_context)),
versionlock(this, &versionlock_type),
bool issued_caps_need_gather(SimpleLock *lock);
void replicate_relax_locks();
-
// -- authority --
mds_authority_t authority() const;
-
// -- auth pins --
- bool is_auth_pinned() const { return auth_pins || nested_auth_pins; }
- int get_num_auth_pins() const { return auth_pins; }
- int get_num_nested_auth_pins() const { return nested_auth_pins; }
void adjust_nested_auth_pins(int a, void *by);
bool can_auth_pin() const;
void auth_pin(void *by);
MDSCacheObject() :
state(0),
ref(0),
- replica_nonce(0) {}
+ auth_pins(0), nested_auth_pins(0),
+ replica_nonce(0)
+ {}
virtual ~MDSCacheObject() {}
// printing
#endif
}
+ protected:
+ int auth_pins;
+ int nested_auth_pins;
+#ifdef MDS_AUTHPIN_SET
+ multiset<void*> auth_pin_set;
+#endif
+
+ public:
+ bool is_auth_pinned() const { return auth_pins || nested_auth_pins; }
+ int get_num_auth_pins() const { return auth_pins; }
+ int get_num_nested_auth_pins() const { return nested_auth_pins; }
// --------------------------------------------
// auth pins