]> git.karo-electronics.de Git - linux-beck.git/commitdiff
NFSd: make grace end flag per network namespace
authorStanislav Kinsbursky <skinsbursky@parallels.com>
Wed, 25 Jul 2012 12:57:37 +0000 (16:57 +0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 27 Jul 2012 20:49:22 +0000 (16:49 -0400)
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/netns.h
fs/nfsd/nfs4state.c

index e99767d987c8a2a1ff3ef77c0783c75d29c03dc4..b6deebd08ef263ea5963d8c01e97957b3d6b6d5f 100644 (file)
@@ -36,6 +36,7 @@ struct nfsd_net {
        struct cache_detail *nametoid_cache;
 
        struct lock_manager nfsd4_manager;
+       bool grace_ended;
 };
 
 extern int nfsd_net_id;
index 34f65f10fa430008818398ff994d547140204be2..aebb58d3ac4af24d44537b3f4584664b54738490 100644 (file)
@@ -3119,19 +3119,17 @@ out:
        return status;
 }
 
-static bool grace_ended;
-
 static void
 nfsd4_end_grace(struct net *net)
 {
        struct nfsd_net *nn = net_generic(net, nfsd_net_id);
 
        /* do nothing if grace period already ended */
-       if (grace_ended)
+       if (nn->grace_ended)
                return;
 
        dprintk("NFSD: end of grace period\n");
-       grace_ended = true;
+       nn->grace_ended = true;
        nfsd4_record_grace_done(net, boot_time);
        locks_end_grace(&nn->nfsd4_manager);
        /*
@@ -4705,7 +4703,7 @@ nfs4_state_start(void)
        nfsd4_client_tracking_init(net);
        boot_time = get_seconds();
        locks_start_grace(net, &nn->nfsd4_manager);
-       grace_ended = false;
+       nn->grace_ended = false;
        printk(KERN_INFO "NFSD: starting %ld-second grace period\n",
               nfsd4_grace);
        ret = set_callback_cred();