Comment 7 for bug 562913

Revision history for this message
loonatic (albert-friendly) wrote :

I've been struggling with this issue for a couple of months as well.
I used to solve it by patching and recompiling the kernel.
See here for more details:
  http://linux-nfs.org/pipermail/nfsv4/2009-November/011643.html

The issue has been fixed in vanilla kernel from 2.6.33.2. Also see:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=patch;\
h=462d60577a997aa87c935ae4521bd303733a9f2b

All it takes is to apply the patch below. Strangely enough, Debian Lenny has fixed as.
As have a lot of other distributions, especially server oriented. After all, it was diagnosed and fixed in Nov 2009.

diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 83ad47c..32b11c0 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -2096,7 +2096,7 @@ nfs4_xdr_enc_getacl(struct rpc_rqst *req, __be32 *p,
  encode_compound_hdr(&xdr, req, &hdr);
  encode_sequence(&xdr, &args->seq_args, &hdr);
  encode_putfh(&xdr, args->fh, &hdr);
- replen = hdr.replen + nfs4_fattr_bitmap_maxsz + 1;
+ replen = hdr.replen + op_decode_hdr_maxsz + nfs4_fattr_bitmap_maxsz + 1;
  encode_getattr_two(&xdr, FATTR4_WORD0_ACL, 0, &hdr);

  xdr_inline_pages(&req->rq_rcv_buf, replen << 2,

I can confirm that the ppa kernels 2.6.33 and up fix the problem, but they should as the vanilla kernel has this fix.
However, running a stock Ubuntu Lucid kernel with the fix instead of a ppa kernel is much preferred.