Yeah. This actually belongs to the pnfs-block branch. I'll move it there. Benny On Jun. 16, 2010, 21:06 -0400, Fred Isaman <iisaman@xxxxxxxxxx> wrote: > --- > fs/nfs/nfs4xdr.c | 29 +++++++++++++++++++++++++++++ > 1 files changed, 29 insertions(+), 0 deletions(-) > > diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c > index 9ef0f0a..c0bdb60 100644 > --- a/fs/nfs/nfs4xdr.c > +++ b/fs/nfs/nfs4xdr.c > @@ -1060,6 +1060,35 @@ static void encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm > hdr->replen += decode_getattr_maxsz; > } > > +static void > +encode_getattr_three(struct xdr_stream *xdr, > + uint32_t bm0, uint32_t bm1, uint32_t bm2, > + struct compound_hdr *hdr) > +{ > + __be32 *p; > + > + p = reserve_space(xdr, 4); > + *p = cpu_to_be32(OP_GETATTR); > + if (bm2) { > + p = reserve_space(xdr, 16); > + *p++ = cpu_to_be32(3); > + *p++ = cpu_to_be32(bm0); > + *p++ = cpu_to_be32(bm1); > + *p = cpu_to_be32(bm2); > + } else if (bm1) { > + p = reserve_space(xdr, 12); > + *p++ = cpu_to_be32(2); > + *p++ = cpu_to_be32(bm0); > + *p = cpu_to_be32(bm1); > + } else { > + p = reserve_space(xdr, 8); > + *p++ = cpu_to_be32(1); > + *p = cpu_to_be32(bm0); > + } > + hdr->nops++; > + hdr->replen += decode_getattr_maxsz; > +} > + > static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) > { > encode_getattr_two(xdr, bitmask[0] & nfs4_fattr_bitmap[0], -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html