aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/nfsd/nfs4recover.c17
-rw-r--r--fs/nfsd/nfs4state.c2
-rw-r--r--fs/nfsd/state.h2
3 files changed, 10 insertions, 11 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index bb66037b63a0..9affa22e7d35 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -58,7 +58,7 @@ struct nfsd4_client_tracking_ops {
58 void (*create)(struct nfs4_client *); 58 void (*create)(struct nfs4_client *);
59 void (*remove)(struct nfs4_client *); 59 void (*remove)(struct nfs4_client *);
60 int (*check)(struct nfs4_client *); 60 int (*check)(struct nfs4_client *);
61 void (*grace_done)(struct nfsd_net *, time_t); 61 void (*grace_done)(struct nfsd_net *);
62}; 62};
63 63
64/* Globals */ 64/* Globals */
@@ -393,7 +393,7 @@ purge_old(struct dentry *parent, struct dentry *child, struct nfsd_net *nn)
393} 393}
394 394
395static void 395static void
396nfsd4_recdir_purge_old(struct nfsd_net *nn, time_t boot_time) 396nfsd4_recdir_purge_old(struct nfsd_net *nn)
397{ 397{
398 int status; 398 int status;
399 399
@@ -1021,7 +1021,7 @@ nfsd4_cld_check(struct nfs4_client *clp)
1021} 1021}
1022 1022
1023static void 1023static void
1024nfsd4_cld_grace_done(struct nfsd_net *nn, time_t boot_time) 1024nfsd4_cld_grace_done(struct nfsd_net *nn)
1025{ 1025{
1026 int ret; 1026 int ret;
1027 struct cld_upcall *cup; 1027 struct cld_upcall *cup;
@@ -1034,7 +1034,7 @@ nfsd4_cld_grace_done(struct nfsd_net *nn, time_t boot_time)
1034 } 1034 }
1035 1035
1036 cup->cu_msg.cm_cmd = Cld_GraceDone; 1036 cup->cu_msg.cm_cmd = Cld_GraceDone;
1037 cup->cu_msg.cm_u.cm_gracetime = (int64_t)boot_time; 1037 cup->cu_msg.cm_u.cm_gracetime = (int64_t)nn->boot_time;
1038 ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_msg); 1038 ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_msg);
1039 if (!ret) 1039 if (!ret)
1040 ret = cup->cu_msg.cm_status; 1040 ret = cup->cu_msg.cm_status;
@@ -1250,13 +1250,12 @@ nfsd4_umh_cltrack_check(struct nfs4_client *clp)
1250} 1250}
1251 1251
1252static void 1252static void
1253nfsd4_umh_cltrack_grace_done(struct nfsd_net __attribute__((unused)) *nn, 1253nfsd4_umh_cltrack_grace_done(struct nfsd_net *nn)
1254 time_t boot_time)
1255{ 1254{
1256 char *legacy; 1255 char *legacy;
1257 char timestr[22]; /* FIXME: better way to determine max size? */ 1256 char timestr[22]; /* FIXME: better way to determine max size? */
1258 1257
1259 sprintf(timestr, "%ld", boot_time); 1258 sprintf(timestr, "%ld", nn->boot_time);
1260 legacy = nfsd4_cltrack_legacy_topdir(); 1259 legacy = nfsd4_cltrack_legacy_topdir();
1261 nfsd4_umh_cltrack_upcall("gracedone", timestr, legacy); 1260 nfsd4_umh_cltrack_upcall("gracedone", timestr, legacy);
1262 kfree(legacy); 1261 kfree(legacy);
@@ -1361,10 +1360,10 @@ nfsd4_client_record_check(struct nfs4_client *clp)
1361} 1360}
1362 1361
1363void 1362void
1364nfsd4_record_grace_done(struct nfsd_net *nn, time_t boot_time) 1363nfsd4_record_grace_done(struct nfsd_net *nn)
1365{ 1364{
1366 if (nn->client_tracking_ops) 1365 if (nn->client_tracking_ops)
1367 nn->client_tracking_ops->grace_done(nn, boot_time); 1366 nn->client_tracking_ops->grace_done(nn);
1368} 1367}
1369 1368
1370static int 1369static int
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index e773036b03d0..bed41f727c0b 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4122,7 +4122,7 @@ nfsd4_end_grace(struct nfsd_net *nn)
4122 4122
4123 dprintk("NFSD: end of grace period\n"); 4123 dprintk("NFSD: end of grace period\n");
4124 nn->grace_ended = true; 4124 nn->grace_ended = true;
4125 nfsd4_record_grace_done(nn, nn->boot_time); 4125 nfsd4_record_grace_done(nn);
4126 locks_end_grace(&nn->nfsd4_manager); 4126 locks_end_grace(&nn->nfsd4_manager);
4127 /* 4127 /*
4128 * Now that every NFSv4 client has had the chance to recover and 4128 * Now that every NFSv4 client has had the chance to recover and
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h
index 4a89e00d7461..a5fa6909501e 100644
--- a/fs/nfsd/state.h
+++ b/fs/nfsd/state.h
@@ -551,7 +551,7 @@ extern void nfsd4_client_tracking_exit(struct net *net);
551extern void nfsd4_client_record_create(struct nfs4_client *clp); 551extern void nfsd4_client_record_create(struct nfs4_client *clp);
552extern void nfsd4_client_record_remove(struct nfs4_client *clp); 552extern void nfsd4_client_record_remove(struct nfs4_client *clp);
553extern int nfsd4_client_record_check(struct nfs4_client *clp); 553extern int nfsd4_client_record_check(struct nfs4_client *clp);
554extern void nfsd4_record_grace_done(struct nfsd_net *nn, time_t boot_time); 554extern void nfsd4_record_grace_done(struct nfsd_net *nn);
555 555
556/* nfs fault injection functions */ 556/* nfs fault injection functions */
557#ifdef CONFIG_NFSD_FAULT_INJECTION 557#ifdef CONFIG_NFSD_FAULT_INJECTION