nfsd4: teach encoders to handle reserve_space failures
authorJ. Bruce Fields <bfields@redhat.com>
Thu, 30 Jan 2014 22:18:38 +0000 (17:18 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 30 May 2014 21:31:49 +0000 (17:31 -0400)
We've tried to prevent running out of space with COMPOUND_SLACK_SPACE
and special checking in those operations (getattr) whose result can vary
enormously.

However:
- COMPOUND_SLACK_SPACE may be difficult to maintain as we add
  more protocol.
- BUG_ON or page faulting on failure seems overly fragile.
- Especially in the 4.1 case, we prefer not to fail compounds
  just because the returned result came *close* to session
  limits.  (Though perfect enforcement here may be difficult.)
- I'd prefer encoding to be uniform for all encoders instead of
  having special exceptions for encoders containing, for
  example, attributes.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4xdr.c
fs/nfsd/xdr4.h

Simple merge
Simple merge
diff --cc fs/nfsd/xdr4.h
Simple merge