ceph: fix snaptrace decoding on cap migration between mds

This was simply broken.  Apparently at some point we thought about putting
the snaptrace in the middle section, but didn't.

Signed-off-by: Sage Weil <sage@newdream.net>
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index bb84616..9afa8d3 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -2608,6 +2608,7 @@
 	u64 size, max_size;
 	u64 tid;
 	int check_caps = 0;
+	void *snaptrace;
 	int r;
 
 	dout("handle_caps from mds%d\n", mds);
@@ -2617,6 +2618,7 @@
 	if (msg->front.iov_len < sizeof(*h))
 		goto bad;
 	h = msg->front.iov_base;
+	snaptrace = h + 1;
 	op = le32_to_cpu(h->op);
 	vino.ino = le64_to_cpu(h->ino);
 	vino.snap = CEPH_NOSNAP;
@@ -2651,8 +2653,7 @@
 
 	case CEPH_CAP_OP_IMPORT:
 		handle_cap_import(mdsc, inode, h, session,
-				  msg->middle,
-				  le32_to_cpu(h->snap_trace_len));
+				  snaptrace, le32_to_cpu(h->snap_trace_len));
 		check_caps = 1; /* we may have sent a RELEASE to the old auth */
 		goto done;
 	}