if (pcow_inode)
*pcow_inode = oldin;
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);
+ bufferlist snapbl;
+ if (dnl->get_inode()->projected_nodes.back()->snapnode)
+ dnl->get_inode()->projected_nodes.back()->snapnode->encode(snapbl);
+ metablob->add_primary_dentry(olddn, true, 0, 0, (snapbl.length() ? &snapbl : NULL));
mut->add_cow_dentry(olddn);
} else {
assert(dnl->is_remote());