le->metablob.add_client_req(req->get_reqid(), req->get_oldest_client_tid());
mdcache->predirty_journal_parents(mdr, &le->metablob, cur, 0, PREDIRTY_PRIMARY, false);
mdcache->journal_cow_inode(mdr, &le->metablob, cur);
- le->metablob.add_primary_dentry(cur->get_projected_parent_dn(), true, cur, 0, 0, px);
+ le->metablob.add_primary_dentry(cur->get_projected_parent_dn(), true, cur);
journal_and_reply(mdr, cur, 0, le, new C_MDS_inode_update_finish(mds, mdr, cur));
}
le->metablob.add_client_req(req->get_reqid(), req->get_oldest_client_tid());
mdcache->predirty_journal_parents(mdr, &le->metablob, cur, 0, PREDIRTY_PRIMARY, false);
mdcache->journal_cow_inode(mdr, &le->metablob, cur);
- le->metablob.add_primary_dentry(cur->get_projected_parent_dn(), true, cur, 0, 0, px);
+ le->metablob.add_primary_dentry(cur->get_projected_parent_dn(), true, cur);
journal_and_reply(mdr, cur, 0, le, new C_MDS_inode_update_finish(mds, mdr, cur));
}
// return remote pointer to to-be-journaled inode
inode_t *add_primary_dentry(CDentry *dn, bool dirty,
- CInode *in=0, fragtree_t *pdft=0, bufferlist *psnapbl=0,
- map<string,bufferptr> *px=0) {
+ CInode *in=0, fragtree_t *pdft=0, bufferlist *psnapbl=0) {
return add_primary_dentry(add_dir(dn->get_dir(), false),
- dn, dirty, in, pdft, psnapbl, px);
+ dn, dirty, in, pdft, psnapbl);
}
inode_t *add_primary_dentry(dirlump& lump, CDentry *dn, bool dirty,
- CInode *in=0, fragtree_t *pdft=0, bufferlist *psnapbl=0,
- map<string,bufferptr> *px=0) {
+ CInode *in=0, fragtree_t *pdft=0, bufferlist *psnapbl=0) {
if (!in)
in = dn->get_projected_linkage()->get_inode();
if (!pdft)
pdft = &in->dirfragtree;
- if (!px)
- px = &in->xattrs;
bufferlist snapbl;
if (psnapbl) {
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, *px,
+ *pi, *pdft,
+ *in->get_projected_xattrs(),
in->symlink, snapbl,
dirty, default_layout)));
if (pi)