dn->state_set(CDentry::STATE_FRAGMENTING);
}
- dout(12) << "add_null_dentry " << *dn << dendl;
+ dout(12) << __func__ << " " << *dn << dendl;
// pin?
if (get_num_any() == 1)
dn->state_set(CDentry::STATE_FRAGMENTING);
}
- dout(12) << "add_primary_dentry " << *dn << dendl;
+ dout(12) << __func__ << " " << *dn << dendl;
// pin?
if (get_num_any() == 1)
dn->state_set(CDentry::STATE_FRAGMENTING);
}
- dout(12) << "add_remote_dentry " << *dn << dendl;
+ dout(12) << __func__ << " " << *dn << dendl;
// pin?
if (get_num_any() == 1)
void CDir::remove_dentry(CDentry *dn)
{
- dout(12) << "remove_dentry " << *dn << dendl;
+ dout(12) << __func__ << " " << *dn << dendl;
// there should be no client leases at this point!
assert(dn->client_lease_map.empty());
void CDir::link_remote_inode(CDentry *dn, inodeno_t ino, unsigned char d_type)
{
- dout(12) << "link_remote_inode " << *dn << " remote " << ino << dendl;
+ dout(12) << __func__ << " " << *dn << " remote " << ino << dendl;
assert(dn->get_linkage()->is_null());
dn->get_linkage()->set_remote(ino, d_type);
void CDir::link_primary_inode(CDentry *dn, CInode *in)
{
- dout(12) << "link_primary_inode " << *dn << " " << *in << dendl;
+ dout(12) << __func__ << " " << *dn << " " << *in << dendl;
assert(dn->get_linkage()->is_null());
dn->get_linkage()->inode = in;
void CDir::unlink_inode(CDentry *dn, bool adjust_lru)
{
if (dn->get_linkage()->is_primary()) {
- dout(12) << "unlink_inode " << *dn << " " << *dn->get_linkage()->get_inode() << dendl;
+ dout(12) << __func__ << " " << *dn << " " << *dn->get_linkage()->get_inode() << dendl;
} else {
- dout(12) << "unlink_inode " << *dn << dendl;
+ dout(12) << __func__ << " " << *dn << dendl;
}
unlink_inode_work(dn);
// was the dn new?
if (dn->is_new()) {
- dout(10) << "try_remove_unlinked_dn " << *dn << " in " << *this << dendl;
+ dout(10) << __func__ << " " << *dn << " in " << *this << dendl;
if (dn->is_dirty())
dn->mark_clean();
remove_dentry(dn);
}
void CDir::remove_null_dentries() {
- dout(12) << "remove_null_dentries " << *this << dendl;
+ dout(12) << __func__ << " " << *this << dendl;
CDir::map_t::iterator p = items.begin();
while (p != items.end()) {
void CDir::purge_stale_snap_data(const set<snapid_t>& snaps)
{
- dout(10) << "purge_stale_snap_data " << snaps << dendl;
+ dout(10) << __func__ << " " << snaps << dendl;
CDir::map_t::iterator p = items.begin();
while (p != items.end()) {
*/
void CDir::steal_dentry(CDentry *dn)
{
- dout(15) << "steal_dentry " << *dn << dendl;
+ dout(15) << __func__ << " " << *dn << dendl;
items[dn->key()] = dn;
if (pf->accounted_fragstat.version != pi->dirstat.version) {
pf->fragstat.version = pi->dirstat.version;
- dout(10) << "resync_accounted_fragstat " << pf->accounted_fragstat << " -> " << pf->fragstat << dendl;
+ dout(10) << __func__ << " " << pf->accounted_fragstat << " -> " << pf->fragstat << dendl;
pf->accounted_fragstat = pf->fragstat;
}
}
if (pf->accounted_rstat.version != pi->rstat.version) {
pf->rstat.version = pi->rstat.version;
- dout(10) << "resync_accounted_rstat " << pf->accounted_rstat << " -> " << pf->rstat << dendl;
+ dout(10) << __func__ << " " << pf->accounted_rstat << " -> " << pf->rstat << dendl;
pf->accounted_rstat = pf->rstat;
dirty_old_rstat.clear();
}
void CDir::assimilate_dirty_rstat_inodes()
{
- dout(10) << "assimilate_dirty_rstat_inodes" << dendl;
+ dout(10) << __func__ << dendl;
for (elist<CInode*>::iterator p = dirty_rstat_inodes.begin_use_current();
!p.end(); ++p) {
CInode *in = *p;
inode->mdcache->project_rstat_inode_to_frag(in, this, 0, 0, NULL);
}
state_set(STATE_ASSIMRSTAT);
- dout(10) << "assimilate_dirty_rstat_inodes done" << dendl;
+ dout(10) << __func__ << " done" << dendl;
}
void CDir::assimilate_dirty_rstat_inodes_finish(MutationRef& mut, EMetaBlob *blob)
if (!state_test(STATE_ASSIMRSTAT))
return;
state_clear(STATE_ASSIMRSTAT);
- dout(10) << "assimilate_dirty_rstat_inodes_finish" << dendl;
+ dout(10) << __func__ << dendl;
elist<CInode*>::iterator p = dirty_rstat_inodes.begin_use_current();
while (!p.end()) {
CInode *in = *p;
if (waiting_on_dentry.empty())
get(PIN_DNWAITER);
waiting_on_dentry[string_snap_t(dname, snapid)].push_back(c);
- dout(10) << "add_dentry_waiter dentry " << dname
+ dout(10) << __func__ << " dentry " << dname
<< " snap " << snapid
<< " " << c << " on " << *this << dendl;
}
compact_map<string_snap_t, list<MDSInternalContextBase*> >::iterator p = waiting_on_dentry.lower_bound(lb);
while (p != waiting_on_dentry.end() &&
!(ub < p->first)) {
- dout(10) << "take_dentry_waiting dentry " << dname
+ dout(10) << __func__ << " " << dname
<< " [" << first << "," << last << "] found waiter on snap "
<< p->first.snapid
<< " on " << *this << dendl;
void CDir::take_sub_waiting(list<MDSInternalContextBase*>& ls)
{
- dout(10) << "take_sub_waiting" << dendl;
+ dout(10) << __func__ << dendl;
if (!waiting_on_dentry.empty()) {
for (compact_map<string_snap_t, list<MDSInternalContextBase*> >::iterator p = waiting_on_dentry.begin();
p != waiting_on_dentry.end();
void CDir::finish_waiting(uint64_t mask, int result)
{
- dout(11) << "finish_waiting mask " << hex << mask << dec << " result " << result << " on " << *this << dendl;
+ dout(11) << __func__ << " mask " << hex << mask << dec << " result " << result << " on " << *this << dendl;
list<MDSInternalContextBase*> finished;
take_waiting(mask, finished);
scrub_maybe_delete_info();
}
- dout(10) << "project_fnode " << p << dendl;
+ dout(10) << __func__ << " " << p << dendl;
return p;
}
void CDir::pop_and_dirty_projected_fnode(LogSegment *ls)
{
assert(!projected_fnode.empty());
- dout(15) << "pop_and_dirty_projected_fnode " << projected_fnode.front()
+ dout(15) << __func__ << " " << projected_fnode.front()
<< " v" << projected_fnode.front()->version << dendl;
fnode = *projected_fnode.front();
_mark_dirty(ls);
if (min > projected_version)
projected_version = min;
++projected_version;
- dout(10) << "pre_dirty " << projected_version << dendl;
+ dout(10) << __func__ << " " << projected_version << dendl;
return projected_version;
}
void CDir::_mark_dirty(LogSegment *ls)
{
if (!state_test(STATE_DIRTY)) {
- dout(10) << "mark_dirty (was clean) " << *this << " version " << get_version() << dendl;
+ dout(10) << __func__ << " (was clean) " << *this << " version " << get_version() << dendl;
_set_dirty_flag();
assert(ls);
} else {
- dout(10) << "mark_dirty (already dirty) " << *this << " version " << get_version() << dendl;
+ dout(10) << __func__ << " (already dirty) " << *this << " version " << get_version() << dendl;
}
if (ls) {
ls->dirty_dirfrags.push_back(&item_dirty);
void CDir::mark_clean()
{
- dout(10) << "mark_clean " << *this << " version " << get_version() << dendl;
+ dout(10) << __func__ << " " << *this << " version " << get_version() << dendl;
if (state_test(STATE_DIRTY)) {
item_dirty.remove_myself();
item_new.remove_myself();
void CDir::go_bad_dentry(snapid_t last, const std::string &dname)
{
- dout(10) << "go_bad_dentry " << dname << dendl;
+ dout(10) << __func__ << " " << dname << dendl;
const bool fatal = cache->mds->damage_table.notify_dentry(
inode->ino(), frag, last, dname, get_path() + "/" + dname);
if (fatal) {
void CDir::go_bad(bool complete)
{
- dout(10) << "go_bad " << frag << dendl;
+ dout(10) << __func__ << " " << frag << dendl;
const bool fatal = cache->mds->damage_table.notify_dirfrag(
inode->ino(), frag, get_path());
if (fatal) {
*/
void CDir::_omap_commit(int op_prio)
{
- dout(10) << "_omap_commit" << dendl;
+ dout(10) << __func__ << dendl;
unsigned max_write_size = cache->max_dir_commit_size;
unsigned write_size = 0;
nested_auth_pins += inc;
dir_auth_pins += dirinc;
- dout(15) << "adjust_nested_auth_pins " << inc << "/" << dirinc << " on " << *this
+ dout(15) << __func__ << " " << inc << "/" << dirinc << " on " << *this
<< " by " << by << " count now "
<< auth_pins << " + " << nested_auth_pins << dendl;
assert(nested_auth_pins >= 0);
void CDir::_freeze_tree()
{
- dout(10) << "_freeze_tree " << *this << dendl;
+ dout(10) << __func__ << " " << *this << dendl;
assert(is_freezeable(true));
// twiddle state
void CDir::unfreeze_tree()
{
- dout(10) << "unfreeze_tree " << *this << dendl;
+ dout(10) << __func__ << " " << *this << dendl;
if (state_test(STATE_FROZENTREE)) {
// frozen. unfreeze.
if (state_test(STATE_FREEZINGTREE)) {
if (!is_subtree_root() && inode->is_frozen()) {
- dout(10) << "maybe_finish_freeze !subtree root and frozen inode, waiting for unfreeze on " << inode << dendl;
+ dout(10) << __func__ << " !subtree root and frozen inode, waiting for unfreeze on " << inode << dendl;
// retake an auth_pin...
auth_pin(inode);
// and release it when the parent inode unfreezes
void CDir::_freeze_dir()
{
- dout(10) << "_freeze_dir " << *this << dendl;
+ dout(10) << __func__ << " " << *this << dendl;
//assert(is_freezeable_dir(true));
// not always true during split because the original fragment may have frozen a while
// ago and we're just now getting around to breaking it up.
void CDir::unfreeze_dir()
{
- dout(10) << "unfreeze_dir " << *this << dendl;
+ dout(10) << __func__ << " " << *this << dendl;
if (state_test(STATE_FROZENDIR)) {
state_clear(STATE_FROZENDIR);