]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
fix client caps encoding
authorSage Weil <sage@newdream.net>
Tue, 18 Aug 2009 20:36:30 +0000 (13:36 -0700)
committerSage Weil <sage@newdream.net>
Tue, 18 Aug 2009 20:36:30 +0000 (13:36 -0700)
src/messages/MClientCaps.h

index a39b098ad46226fdea1000d7183f3fec9580664b..70eb05a8f86d6e5722551b16b3d6637042487092 100644 (file)
@@ -131,14 +131,18 @@ class MClientCaps : public Message {
     bufferlist::iterator p = payload.begin();
     ::decode(head, p);
     ::decode_nohead(head.snap_trace_len, snapbl, p);
-    ::decode_nohead(head.xattr_len, xattrbl, p);
+
+    assert(middle.length() == head.xattr_len);
+    if (head.xattr_len)
+      xattrbl = middle;
   }
   void encode_payload() {
     head.snap_trace_len = snapbl.length();
     head.xattr_len = xattrbl.length();
     ::encode(head, payload);
     ::encode_nohead(snapbl, payload);
-    ::encode_nohead(xattrbl, payload);
+
+    middle = xattrbl;
   }
 };