for (map<frag_t,CDir*>::iterator p = dirfrags.begin();
p != dirfrags.end();
++p)
- if (p->second->is_auth()) {
- frag_t fg = (*p)->get_frag();
- frag_sizes[f] = dirfrag_size[fg];
- }
+ if (p->second->is_auth())
+ frag_sizes[p->first] = dirfrag_size[p->first];
::encode(frag_sizes, bl);
}
break;
for (map<frag_t,CDir*>::iterator p = dirfrags.begin();
p != dirfrags.end();
++p)
- if (p->second->is_auth()) {
- frag_t fg = (*p)->get_frag();
- dfn[fg] = dirfrag_nested[fg];
- }
+ if (p->second->is_auth())
+ dfn[p->first] = dirfrag_nested[p->first];
::encode(dfn, bl);
}
break;
void CInode::decode_lock_state(int type, bufferlist& bl)
{
bufferlist::iterator p = bl.begin();
+ utime_t tm;
switch (type) {
case CEPH_LOCK_IAUTH:
case CEPH_LOCK_IDIR:
{
- utime_t tm;
uint64_t sz;
map<frag_t,int> dfsz;
::decode(sz, p);
unsigned mode, uid, gid, nlink, rdev;
loff_t size, max_size, nested_size;
version_t time_warp_seq;
-
+ nested_info_t nested;
+
string symlink; // symlink content (if symlink)
fragtree_t dirfragtree;
map<string, bufferptr> xattrs;
ctime.decode_timeval(&e.ctime);
mtime.decode_timeval(&e.mtime);
atime.decode_timeval(&e.atime);
+ nested.nested_ctime.decode_timeval(&e.nested_ctime);
time_warp_seq = e.time_warp_seq;
mode = e.mode;
uid = e.uid;
size = e.size;
max_size = e.max_size;
rdev = e.rdev;
+ nested.nested_size = e.nested_size;
nested_ctime.decode_timeval(&e.nested_ctime);
nested_size = e.nested_size;
in->inode.ctime.encode_timeval(&e.ctime);
in->inode.mtime.encode_timeval(&e.mtime);
in->inode.atime.encode_timeval(&e.atime);
- in->inode.nested_ctime.encode_timeval(&e.nested_ctime);
+ in->inode.nested.nested_ctime.encode_timeval(&e.nested_ctime);
e.time_warp_seq = in->inode.time_warp_seq;
e.mode = in->inode.mode;
e.uid = in->inode.uid;
e.nlink = in->inode.nlink;
e.size = in->inode.size;
e.max_size = in->inode.max_size;
- e.nested_size = in->inode.nested_size;
+ e.nested_size = in->inode.nested.nested_size;
e.rdev = in->inode.rdev;
e.fragtree.nsplits = in->dirfragtree._splits.size();
::encode(e, bl);