From b0f3fca0909871d0cbecae5aea63f62a04106d7e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 23 Feb 2010 14:32:01 -0800 Subject: [PATCH] ceph: fix handle_forward parsing Signed-off-by: Sage Weil --- fs/ceph/mds_client.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 124c0c17a14a..7246d0832c87 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -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); -- 2.47.3