Loading fs/nfsd/netns.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,7 @@ struct nfsd_net { struct cache_detail *nametoid_cache; struct cache_detail *nametoid_cache; struct lock_manager nfsd4_manager; struct lock_manager nfsd4_manager; bool grace_ended; }; }; extern int nfsd_net_id; extern int nfsd_net_id; Loading fs/nfsd/nfs4state.c +3 −5 Original line number Original line Diff line number Diff line Loading @@ -3119,19 +3119,17 @@ nfsd4_renew(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, return status; return status; } } static bool grace_ended; static void static void nfsd4_end_grace(struct net *net) nfsd4_end_grace(struct net *net) { { struct nfsd_net *nn = net_generic(net, nfsd_net_id); struct nfsd_net *nn = net_generic(net, nfsd_net_id); /* do nothing if grace period already ended */ /* do nothing if grace period already ended */ if (grace_ended) if (nn->grace_ended) return; return; dprintk("NFSD: end of grace period\n"); dprintk("NFSD: end of grace period\n"); grace_ended = true; nn->grace_ended = true; nfsd4_record_grace_done(net, boot_time); nfsd4_record_grace_done(net, boot_time); locks_end_grace(&nn->nfsd4_manager); locks_end_grace(&nn->nfsd4_manager); /* /* Loading Loading @@ -4705,7 +4703,7 @@ nfs4_state_start(void) nfsd4_client_tracking_init(net); nfsd4_client_tracking_init(net); boot_time = get_seconds(); boot_time = get_seconds(); locks_start_grace(net, &nn->nfsd4_manager); locks_start_grace(net, &nn->nfsd4_manager); grace_ended = false; nn->grace_ended = false; printk(KERN_INFO "NFSD: starting %ld-second grace period\n", printk(KERN_INFO "NFSD: starting %ld-second grace period\n", nfsd4_grace); nfsd4_grace); ret = set_callback_cred(); ret = set_callback_cred(); Loading Loading
fs/nfsd/netns.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,7 @@ struct nfsd_net { struct cache_detail *nametoid_cache; struct cache_detail *nametoid_cache; struct lock_manager nfsd4_manager; struct lock_manager nfsd4_manager; bool grace_ended; }; }; extern int nfsd_net_id; extern int nfsd_net_id; Loading
fs/nfsd/nfs4state.c +3 −5 Original line number Original line Diff line number Diff line Loading @@ -3119,19 +3119,17 @@ nfsd4_renew(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, return status; return status; } } static bool grace_ended; static void static void nfsd4_end_grace(struct net *net) nfsd4_end_grace(struct net *net) { { struct nfsd_net *nn = net_generic(net, nfsd_net_id); struct nfsd_net *nn = net_generic(net, nfsd_net_id); /* do nothing if grace period already ended */ /* do nothing if grace period already ended */ if (grace_ended) if (nn->grace_ended) return; return; dprintk("NFSD: end of grace period\n"); dprintk("NFSD: end of grace period\n"); grace_ended = true; nn->grace_ended = true; nfsd4_record_grace_done(net, boot_time); nfsd4_record_grace_done(net, boot_time); locks_end_grace(&nn->nfsd4_manager); locks_end_grace(&nn->nfsd4_manager); /* /* Loading Loading @@ -4705,7 +4703,7 @@ nfs4_state_start(void) nfsd4_client_tracking_init(net); nfsd4_client_tracking_init(net); boot_time = get_seconds(); boot_time = get_seconds(); locks_start_grace(net, &nn->nfsd4_manager); locks_start_grace(net, &nn->nfsd4_manager); grace_ended = false; nn->grace_ended = false; printk(KERN_INFO "NFSD: starting %ld-second grace period\n", printk(KERN_INFO "NFSD: starting %ld-second grace period\n", nfsd4_grace); nfsd4_grace); ret = set_callback_cred(); ret = set_callback_cred(); Loading