]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
some fixups
authorSage Weil <sage@newdream.net>
Tue, 13 May 2008 17:19:39 +0000 (10:19 -0700)
committerSage Weil <sage@newdream.net>
Thu, 22 May 2008 21:21:07 +0000 (14:21 -0700)
src/mds/CInode.cc
src/messages/MClientReply.h

index 3f996892c81c3c1095d6de776d188bac07a52009..93a460c45e9f6b633c460c5723645e4551b61372 100644 (file)
@@ -528,10 +528,8 @@ void CInode::encode_lock_state(int type, bufferlist& bl)
       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;
@@ -546,10 +544,8 @@ void CInode::encode_lock_state(int type, bufferlist& bl)
       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;
@@ -562,6 +558,7 @@ void CInode::encode_lock_state(int type, bufferlist& bl)
 void CInode::decode_lock_state(int type, bufferlist& bl)
 {
   bufferlist::iterator p = bl.begin();
+  utime_t tm;
 
   switch (type) {
   case CEPH_LOCK_IAUTH:
@@ -604,7 +601,6 @@ void CInode::decode_lock_state(int type, bufferlist& bl)
 
   case CEPH_LOCK_IDIR:
     {
-      utime_t tm;
       uint64_t sz;
       map<frag_t,int> dfsz;
       ::decode(sz, p);
index 66112a9c8931cf0d2199e4fd5dd3531dc127bd07..9c6ce8b23b58141a5642d9a3925d1a152e400c05 100644 (file)
@@ -108,7 +108,8 @@ struct InodeStat {
   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;
@@ -128,6 +129,7 @@ struct InodeStat {
     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;
@@ -136,6 +138,7 @@ struct InodeStat {
     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;
@@ -167,7 +170,7 @@ struct InodeStat {
     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;
@@ -175,7 +178,7 @@ struct InodeStat {
     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);