mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
nfsd4: translate memory errors to delay, not serverfault
If the server is out of memory is better for clients to back off and retry than to just error out. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
76407f76e0
commit
4731030d58
@ -457,7 +457,7 @@ static int set_forechannel_drc_size(struct nfsd4_channel_attrs *fchan)
|
||||
spin_unlock(&nfsd_drc_lock);
|
||||
|
||||
if (fchan->maxreqs == 0)
|
||||
return nfserr_serverfault;
|
||||
return nfserr_jukebox;
|
||||
|
||||
fchan->maxresp_cached = size + NFSD_MIN_HDR_SEQ_SZ;
|
||||
return 0;
|
||||
@ -542,7 +542,7 @@ alloc_init_session(struct svc_rqst *rqstp, struct nfs4_client *clp,
|
||||
BUILD_BUG_ON(NFSD_MAX_SLOTS_PER_SESSION * sizeof(struct nfsd4_slot)
|
||||
+ sizeof(struct nfsd4_session) > PAGE_SIZE);
|
||||
|
||||
status = nfserr_serverfault;
|
||||
status = nfserr_jukebox;
|
||||
/* allocate struct nfsd4_session and slot table pointers in one piece */
|
||||
slotsize = tmp.se_fchannel.maxreqs * sizeof(struct nfsd4_slot *);
|
||||
new = kzalloc(sizeof(*new) + slotsize, GFP_KERNEL);
|
||||
@ -1219,7 +1219,7 @@ out_new:
|
||||
/* Normal case */
|
||||
new = create_client(exid->clname, dname, rqstp, &verf);
|
||||
if (new == NULL) {
|
||||
status = nfserr_serverfault;
|
||||
status = nfserr_jukebox;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user