NFSv4: Check the return value of decode_compound_hdr_arg()
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 6 May 2008 17:32:40 +0000 (13:32 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 16 May 2008 16:43:26 +0000 (09:43 -0700)
commit3a6258e1fb5ff717dcefa04afc35f81aaae3f3e0
tree2bf2cf66277f2400f5dee5f815f5fc1d57c4ffc1
parent38def50fabc479dc96ea6bd2cb2526e0dfc36fa4
NFSv4: Check the return value of decode_compound_hdr_arg()

If decode_compound_hdr_arg() returns a resource error, then we cannot
proceed to process the callback. Return a 'GARBAGE_ARGS' rpc-level error to
the caller instead.
If, however, the minor version field is incorrect, then we need to
propagate the resulting NFS4ERR_MINOR_VERS_MISMATCH error back as the
compound status field (setting the nops field to 0).

Finally, if encode_compound_hdr_res() returns an error, we need to return
an RPC_SYSTEM_ERR to the caller.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/callback_xdr.c