]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
ceph: fix handle_forward parsing
authorSage Weil <sage@newdream.net>
Tue, 23 Feb 2010 22:32:01 +0000 (14:32 -0800)
committerSage Weil <sage@newdream.net>
Tue, 23 Feb 2010 22:33:26 +0000 (14:33 -0800)
Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/mds_client.c

index 124c0c17a14aca936bbdd275ba73ef35c7ac888d..7246d0832c873fdd2019f2de3ff1a96cd6906c28 100644 (file)
@@ -1887,7 +1887,7 @@ out:
 static void handle_forward(struct ceph_mds_client *mdsc, struct ceph_msg *msg)
 {
        struct ceph_mds_request *req;
-       u64 tid;
+       u64 tid = le64_to_cpu(msg->hdr.tid);
        u32 next_mds;
        u32 fwd_seq;
        u8 must_resend;
@@ -1900,8 +1900,7 @@ static void handle_forward(struct ceph_mds_client *mdsc, struct ceph_msg *msg)
                goto bad;
        from_mds = le64_to_cpu(msg->hdr.src.name.num);
 
-       ceph_decode_need(&p, end, sizeof(u64)+2*sizeof(u32), bad);
-       tid = ceph_decode_64(&p);
+       ceph_decode_need(&p, end, 2*sizeof(u32), bad);
        next_mds = ceph_decode_32(&p);
        fwd_seq = ceph_decode_32(&p);
        must_resend = ceph_decode_8(&p);