mm/huge_memory.c: use head to emphasize the purpose of page
[linux-2.6-microblaze.git] / fs / nfs / nfs42xdr.c
index ccabc0c..c03f324 100644 (file)
 #define encode_copy_maxsz              (op_encode_hdr_maxsz +          \
                                         XDR_QUADLEN(NFS4_STATEID_SIZE) + \
                                         XDR_QUADLEN(NFS4_STATEID_SIZE) + \
-                                        2 + 2 + 2 + 1 + 1 + 1)
+                                        2 + 2 + 2 + 1 + 1 + 1 +\
+                                        1 + /* One cnr_source_server */\
+                                        1 + /* nl4_type */ \
+                                        1 + XDR_QUADLEN(NFS4_OPAQUE_LIMIT))
 #define decode_copy_maxsz              (op_decode_hdr_maxsz + \
                                         NFS42_WRITE_RES_SIZE + \
                                         1 /* cr_consecutive */ + \
@@ -216,7 +219,12 @@ static void encode_copy(struct xdr_stream *xdr,
 
        encode_uint32(xdr, 1); /* consecutive = true */
        encode_uint32(xdr, args->sync);
-       encode_uint32(xdr, 0); /* src server list */
+       if (args->cp_src == NULL) { /* intra-ssc */
+               encode_uint32(xdr, 0); /* no src server list */
+               return;
+       }
+       encode_uint32(xdr, 1); /* supporting 1 server */
+       encode_nl4_server(xdr, args->cp_src);
 }
 
 static void encode_offload_cancel(struct xdr_stream *xdr,