summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-01-02 17:49:12 -0500
committerJ. Bruce Fields <bfields@redhat.com>2012-01-05 15:23:19 -0500
commitb8548894bde94ccee836e210274ff401225e9733 (patch)
treeac758f12693b60d8b959a290c270d918b0558296
parentaec39680b02ed55fcbb2bc87ad96eba16a651546 (diff)
nfsd4: be forgiving in the absence of the recovery directory
If the recovery directory doesn't exist, then behavior after a reboot will be suboptimal. But it's unnecessarily harsh to then prevent the nfsv4 server from working at all. Instead just print a warning (already done in nfsd4_init_recdir()) and soldier on. Tested-by: Lior <lior@tonian.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/nfsd/nfs4recover.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index 28712e20bb11..eb01fffdc2f1 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -127,10 +127,11 @@ nfsd4_create_clid_dir(struct nfs4_client *clp)
dprintk("NFSD: nfsd4_create_clid_dir for \"%s\"\n", dname);
- if (!rec_file || clp->cl_firststate)
+ if (clp->cl_firststate)
return 0;
-
clp->cl_firststate = 1;
+ if (!rec_file)
+ return -ENOENT;
status = nfs4_save_creds(&original_cred);
if (status < 0)
return status;