]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: mdsc handle snap blob
authorSage Weil <sage@newdream.net>
Fri, 8 Aug 2008 23:26:00 +0000 (16:26 -0700)
committerSage Weil <sage@newdream.net>
Fri, 8 Aug 2008 23:26:00 +0000 (16:26 -0700)
src/kernel/mds_client.c
src/kernel/mds_client.h
src/messages/MClientReply.h

index 2f510f4a40fb4bdcb2cab854370e5d07bf74f278..1fb61329b9cdfd23aa188ff38fa7e9a9d10a3b95 100644 (file)
@@ -220,6 +220,11 @@ static int parse_reply_info(struct ceph_msg *msg,
                        goto bad;
        }
 
+       /* snap blob */
+       ceph_decode_32_safe(&p, end, len, bad);
+       info->snapblob_len = len;
+       info->snapblob = *p;
+
        return 0;
 bad:
        derr(1, "parse_reply err %d\n", err);
index 796189bb038d5cd86d999ef900a11dbb67566d10..223b50f3d48c212e9cabf5045d3336753b85cccb 100644 (file)
@@ -42,6 +42,9 @@ struct ceph_mds_reply_info {
        __u32                         *dir_dname_len;
        struct ceph_mds_reply_lease   **dir_dlease;
        struct ceph_mds_reply_info_in *dir_in;
+
+       void *snapblob;
+       int snapblob_len;
 };
 
 /*
index 18bb98ba0cd6394b737484f1a88eaaaea56ef29f..2358a0eb457b0f7be6d546d2ddc96322c13a4c9a 100644 (file)
@@ -209,16 +209,16 @@ public:
   virtual void decode_payload() {
     bufferlist::iterator p = payload.begin();
     ::decode(st, p);
-    ::decode(snapbl, p);
     ::decode(trace_bl, p);
     ::decode(dir_bl, p);
+    ::decode(snapbl, p);
     assert(p.end());
   }
   virtual void encode_payload() {
     ::encode(st, payload);
-    ::encode(snapbl, payload);
     ::encode(trace_bl, payload);
     ::encode(dir_bl, payload);
+    ::encode(snapbl, payload);
   }