mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
nfsd: export upcalls must not return ESTALE when mountd is down
If the rpc.mountd daemon goes down, then that should not cause all exports to start failing with ESTALE errors. Let's explicitly distinguish between the cache upcall cases that need to time out, and those that do not. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
6a30e47fa0
commit
65286b883c
7 changed files with 85 additions and 32 deletions
|
@ -148,6 +148,11 @@ static struct cache_head *ip_map_alloc(void)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static int ip_map_upcall(struct cache_detail *cd, struct cache_head *h)
|
||||
{
|
||||
return sunrpc_cache_pipe_upcall(cd, h);
|
||||
}
|
||||
|
||||
static void ip_map_request(struct cache_detail *cd,
|
||||
struct cache_head *h,
|
||||
char **bpp, int *blen)
|
||||
|
@ -467,6 +472,11 @@ static struct cache_head *unix_gid_alloc(void)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static int unix_gid_upcall(struct cache_detail *cd, struct cache_head *h)
|
||||
{
|
||||
return sunrpc_cache_pipe_upcall_timeout(cd, h);
|
||||
}
|
||||
|
||||
static void unix_gid_request(struct cache_detail *cd,
|
||||
struct cache_head *h,
|
||||
char **bpp, int *blen)
|
||||
|
@ -584,6 +594,7 @@ static const struct cache_detail unix_gid_cache_template = {
|
|||
.hash_size = GID_HASHMAX,
|
||||
.name = "auth.unix.gid",
|
||||
.cache_put = unix_gid_put,
|
||||
.cache_upcall = unix_gid_upcall,
|
||||
.cache_request = unix_gid_request,
|
||||
.cache_parse = unix_gid_parse,
|
||||
.cache_show = unix_gid_show,
|
||||
|
@ -881,6 +892,7 @@ static const struct cache_detail ip_map_cache_template = {
|
|||
.hash_size = IP_HASHMAX,
|
||||
.name = "auth.unix.ip",
|
||||
.cache_put = ip_map_put,
|
||||
.cache_upcall = ip_map_upcall,
|
||||
.cache_request = ip_map_request,
|
||||
.cache_parse = ip_map_parse,
|
||||
.cache_show = ip_map_show,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue