On May. 06, 2009, 1:39 +0300, Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote: > On Wed, 2009-05-06 at 01:15 +0300, Benny Halevy wrote: >> On 2009-05-06 01:12, Trond Myklebust wrote: >>> Not necessary. Look again at the first line of the READ_BUF(nbytes) >>> macro: >>> >>> p = xdr_inline_decode(xdr, nbytes); >>> >>> So the value of 'p' is always correctly set to the beginning of the >>> buffer of length 'nbytes'. >> Right, but then we want to skip over the buffer. > > The next call to READ_BUF() will take care of updating p to the > beginning of the next buffer irrespective of whether or not you have > read data from the current buffer. Got it. Thanks for being patient :-) > > Cheers > Trond > The following 6 patches fix nfs41 xdr code based on the current helpers (over nfs-2.6/nfsv41). I can squash them into the current patchset after your cleanup of the xdr macros. [PATCH 1/6] nfs41: Ignoring impid in decode_exchange_id is missing a READ_BUF [PATCH 2/6] nfs41: fix Xcode_exchange_id's xdr Xcoding pointer type [PATCH 3/6] nfs41: get rid of unused struct nfs41_exchange_id_res members [PATCH 4/6] nfs41: fix Xcode_create_session's xdr Xcoding pointer type [PATCH 5/6] nfs41: refactor decoding of channel attributes [PATCH 6/6] nfs41: fix encode_destroy_session's xdr Xcoding pointer type Benny -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html