]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
nfsd41: minor set_forechannel_maxreqs cleanup
authorAndy Adamson <andros@netapp.com>
Mon, 27 Jul 2009 22:40:09 +0000 (18:40 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Tue, 28 Jul 2009 18:29:54 +0000 (14:29 -0400)
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4state.c

index 69bd37e3fdcfdc4178a9bce8cf6d95f8315ddff4..70cba3fbfa6d64348a4d4d6f8b93d17b867fe2e8 100644 (file)
@@ -423,26 +423,25 @@ gen_sessionid(struct nfsd4_session *ses)
  */
 static int set_forechannel_maxreqs(struct nfsd4_channel_attrs *fchan)
 {
-       int status = 0, np = fchan->maxreqs * NFSD_PAGES_PER_SLOT;
+       int np;
 
        if (fchan->maxreqs < 1)
                return nfserr_inval;
        else if (fchan->maxreqs > NFSD_MAX_SLOTS_PER_SESSION)
                fchan->maxreqs = NFSD_MAX_SLOTS_PER_SESSION;
 
+       np = fchan->maxreqs * NFSD_PAGES_PER_SLOT;
+
        spin_lock(&nfsd_drc_lock);
        if (np + nfsd_drc_pages_used > nfsd_drc_max_pages)
                np = nfsd_drc_max_pages - nfsd_drc_pages_used;
        nfsd_drc_pages_used += np;
        spin_unlock(&nfsd_drc_lock);
 
-       if (np <= 0) {
-               status = nfserr_resource;
-               fchan->maxreqs = 0;
-       } else
-               fchan->maxreqs = np / NFSD_PAGES_PER_SLOT;
-
-       return status;
+       fchan->maxreqs = np / NFSD_PAGES_PER_SLOT;
+       if (fchan->maxreqs == 0)
+               return nfserr_resource;
+       return 0;
 }
 
 /*