nfsd41: replace nfserr_resource in pure nfs41 responses
authorAndy Adamson <andros@netapp.com>
Fri, 28 Aug 2009 12:45:03 +0000 (08:45 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Wed, 2 Sep 2009 02:24:05 +0000 (22:24 -0400)
nfserr_resource is not a legal error for NFSv4.1. Replace it with
nfserr_serverfault for EXCHANGE_ID and CREATE_SESSION processing.

We will also need to map nfserr_resource to other errors in routines shared
by NFSv4.0 and NFSv4.1

Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4state.c

index ec074e7..c9a45f4 100644 (file)
@@ -469,7 +469,7 @@ static int set_forechannel_drc_size(struct nfsd4_channel_attrs *fchan)
        spin_unlock(&nfsd_drc_lock);
 
        if (fchan->maxreqs == 0)
-               return nfserr_resource;
+               return nfserr_serverfault;
 
        fchan->maxresp_cached = size + NFSD_MIN_HDR_SEQ_SZ;
        return 0;
@@ -519,7 +519,7 @@ alloc_init_session(struct svc_rqst *rqstp, struct nfs4_client *clp,
                   struct nfsd4_create_session *cses)
 {
        struct nfsd4_session *new, tmp;
-       int idx, status = nfserr_resource, slotsize;
+       int idx, status = nfserr_serverfault, slotsize;
 
        memset(&tmp, 0, sizeof(tmp));
 
@@ -1282,7 +1282,7 @@ out_new:
        /* Normal case */
        new = create_client(exid->clname, dname);
        if (new == NULL) {
-               status = nfserr_resource;
+               status = nfserr_serverfault;
                goto out;
        }