in->last_journaled = my_offset;
//cout << "journaling " << in->inode.ino << " at " << my_offset << std::endl;
+ if (!pi) pi = in->get_projected_inode();
+ if (!pdft) pdft = &in->dirfragtree;
+ if (!px) px = &in->xattrs;
+
bufferlist snapbl;
if (psnapbl)
snapbl = *psnapbl;
lump.get_dfull().push_front(fullbit(dn->get_name(),
dn->first, dn->last,
dn->get_projected_version(),
- in->inode, in->dirfragtree,
- px ? *px : in->xattrs,
+ *pi, *pdft, *px,
in->symlink, snapbl,
dirty));
if (pi) lump.get_dfull().front().inode = *pi;
lump.get_dfull().push_back(fullbit(dn->get_name(),
dn->first, dn->last,
dn->get_projected_version(),
- in->inode, in->dirfragtree,
- px ? *px : in->xattrs,
+ *pi, *pdft, *px,
in->symlink, snapbl,
dirty));
if (pi) lump.get_dfull().back().inode = *pi;
in->last_journaled = my_offset;
//cout << "journaling " << in->inode.ino << " at " << my_offset << std::endl;
+ if (!pi) pi = in->get_projected_inode();
+ if (!pdft) pdft = &in->dirfragtree;
+ if (!px) px = &in->xattrs;
+
bufferlist snapbl;
if (psnapbl)
snapbl = *psnapbl;
nstring empty;
root = new fullbit(empty,
- in->first, in->last,
- 0,
- in->inode, in->dirfragtree,
- px ? *px : in->xattrs,
- in->symlink, snapbl,
- dirty);
+ in->first, in->last,
+ 0,
+ *pi, *pdft, *px,
+ in->symlink, snapbl,
+ dirty);
return &root->inode;
}