CDentry *olddn = dn->dir->add_primary_dentry(dn->name, oldin, oldfirst, follows);
oldin->inode.version = olddn->pre_dirty();
dout(10) << " olddn " << *olddn << dendl;
- metablob->add_primary_dentry(olddn, true, 0, 0);
+ metablob->add_primary_dentry(olddn, true, 0);
mut->add_cow_dentry(olddn);
} else {
assert(dnl->is_remote());
// project snaprealm, too
in->project_past_snaprealm_parent(straydn->get_dir()->inode->find_snaprealm());
- le->metablob.add_primary_dentry(straydn, true, in, 0);
+ le->metablob.add_primary_dentry(straydn, true, in);
} else {
// remote link. update remote inode.
mdcache->predirty_journal_parents(mdr, &le->metablob, in, dn->get_dir(), PREDIRTY_DIR, -1);
// project snaprealm, too
oldin->project_past_snaprealm_parent(straydn->get_dir()->inode->find_snaprealm());
straydn->first = MAX(oldin->first, next_dest_snap);
- tji = metablob->add_primary_dentry(straydn, true, oldin, 0);
+ tji = metablob->add_primary_dentry(straydn, true, oldin);
}
} else if (destdnl->is_remote()) {
if (oldin->is_auth()) {
destdn->first = MAX(destdn->first, next_dest_snap);
if (destdn->is_auth())
- ji = metablob->add_primary_dentry(destdn, true, srci, 0);
+ ji = metablob->add_primary_dentry(destdn, true, srci);
else if (force_journal) {
dout(10) << " forced journaling destdn " << *destdn << dendl;
metablob->add_dir_context(destdn->get_dir());
- ji = metablob->add_primary_dentry(destdn, true, srci, 0);
+ ji = metablob->add_primary_dentry(destdn, true, srci);
}
}
// return remote pointer to to-be-journaled inode
inode_t *add_primary_dentry(CDentry *dn, bool dirty,
- CInode *in=0, fragtree_t *pdft=0) {
+ CInode *in=0) {
return add_primary_dentry(add_dir(dn->get_dir(), false),
- dn, dirty, in, pdft);
+ dn, dirty, in);
}
inode_t *add_primary_dentry(dirlump& lump, CDentry *dn, bool dirty,
- CInode *in=0, fragtree_t *pdft=0) {
+ CInode *in=0) {
if (!in)
in = dn->get_projected_linkage()->get_inode();
in->get_projected_node()->dir_layout :
in->default_layout);
- if (!pdft)
- pdft = &in->dirfragtree;
-
bufferlist snapbl;
sr_t *sr = in->get_projected_srnode();
if (sr)
lump.get_dfull().push_back(std::tr1::shared_ptr<fullbit>(new fullbit(dn->get_name(),
dn->first, dn->last,
dn->get_projected_version(),
- *pi, *pdft,
+ *pi, in->dirfragtree,
*in->get_projected_xattrs(),
in->symlink, snapbl,
dirty, default_layout)));