summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-08-07 14:19:32 +1000
committerNeil Brown <neilb@suse.de>2006-08-07 14:19:32 +1000
commit6a7d90cea7650d4a40816368a61f1541a43d016c (patch)
treef64af3fc11f2ced22466f8be61f8ea08d6960191
parente99654bace14daee2f26506b61629d109aed98de (diff)
downloadnfs-utils-6a7d90cea7650d4a40816368a61f1541a43d016c.tar.gz
nfs-utils-6a7d90cea7650d4a40816368a61f1541a43d016c.tar.xz
nfs-utils-6a7d90cea7650d4a40816368a61f1541a43d016c.zip
Remove warning if neither 'sync' or 'async' present.
Add warning of neither 'subtree_check' or 'no_subtree_check' present.
-rw-r--r--ChangeLog6
-rw-r--r--support/nfs/exports.c26
-rw-r--r--utils/exportfs/exports.man12
3 files changed, 30 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ea2184..364ec0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Author: NeilBrown <neilb@cse.unsw.edu.au>
+Date: Mon Aug 7 14:01:35 EST 2006
+
+ Remove warning if neither 'sync' or 'async' present.
+ Add warning of neither 'subtree_check' or 'no_subtree_check' present.
+
commit 7194d7d6320736c14f40d31c3738d40f3119ead5
Author: Kevin Coffman <kwc@citi.umich.edu>
Date: Sat Jul 8 10:01:40 2006 +1000
diff --git a/support/nfs/exports.c b/support/nfs/exports.c
index e6de71a..2d31781 100644
--- a/support/nfs/exports.c
+++ b/support/nfs/exports.c
@@ -312,7 +312,7 @@ updateexportent(struct exportent *eep, char *options)
static int
parseopts(char *cp, struct exportent *ep, int warn)
{
- int had_sync_opt = 0;
+ int had_subtree_opt = 0;
char *flname = efname?efname:"command line";
int flline = efp?efp->x_line:0;
@@ -344,13 +344,11 @@ parseopts(char *cp, struct exportent *ep, int warn)
ep->e_flags &= ~NFSEXP_INSECURE_PORT;
else if (!strcmp(opt, "insecure"))
ep->e_flags |= NFSEXP_INSECURE_PORT;
- else if (!strcmp(opt, "sync")) {
- had_sync_opt = 1;
+ else if (!strcmp(opt, "sync"))
ep->e_flags &= ~NFSEXP_ASYNC;
- } else if (!strcmp(opt, "async")) {
- had_sync_opt = 1;
+ else if (!strcmp(opt, "async"))
ep->e_flags |= NFSEXP_ASYNC;
- } else if (!strcmp(opt, "nohide"))
+ else if (!strcmp(opt, "nohide"))
ep->e_flags |= NFSEXP_NOHIDE;
else if (!strcmp(opt, "hide"))
ep->e_flags &= ~NFSEXP_NOHIDE;
@@ -370,11 +368,13 @@ parseopts(char *cp, struct exportent *ep, int warn)
ep->e_flags |= NFSEXP_ALLSQUASH;
else if (strcmp(opt, "no_all_squash") == 0)
ep->e_flags &= ~NFSEXP_ALLSQUASH;
- else if (strcmp(opt, "subtree_check") == 0)
+ else if (strcmp(opt, "subtree_check") == 0) {
+ had_subtree_opt = 1;
ep->e_flags &= ~NFSEXP_NOSUBTREECHECK;
- else if (strcmp(opt, "no_subtree_check") == 0)
+ } else if (strcmp(opt, "no_subtree_check") == 0) {
+ had_subtree_opt = 1;
ep->e_flags |= NFSEXP_NOSUBTREECHECK;
- else if (strcmp(opt, "auth_nlm") == 0)
+ } else if (strcmp(opt, "auth_nlm") == 0)
ep->e_flags &= ~NFSEXP_NOAUTHNLM;
else if (strcmp(opt, "no_auth_nlm") == 0)
ep->e_flags |= NFSEXP_NOAUTHNLM;
@@ -454,10 +454,10 @@ bad_option:
ep->e_nsqgids = nsqgids;
out:
- if (warn && !had_sync_opt && !(ep->e_flags & NFSEXP_READONLY))
- xlog(L_WARNING, "%s [%d]: No 'sync' or 'async' option specified for export \"%s:%s\".\n"
- " Assuming default behaviour ('sync').\n"
- " NOTE: this default has changed from previous versions\n",
+ if (warn && !had_subtree_opt)
+ xlog(L_WARNING, "%s [%d]: Neither 'subtree_check' or 'no_subtree_check' specified for export \"%s:%s\".\n"
+ " Assuming default behaviour ('subtree_check').\n"
+ " NOTE: this default will change with nfs-utils version 1.1.0\n",
flname, flline,
ep->e_hostname, ep->e_path);
diff --git a/utils/exportfs/exports.man b/utils/exportfs/exports.man
index 55bd364..7aa60fc 100644
--- a/utils/exportfs/exports.man
+++ b/utils/exportfs/exports.man
@@ -117,7 +117,7 @@ storage (see
above).
In releases of nfs-utils upto and including 1.0.0, this option was the
-default. In this and future releases,
+default. In all subsequence releases,
.I sync
is the default, and
.I async
@@ -217,6 +217,16 @@ The default of having subtree checks enabled, can be explicitly
requested with
.IR subtree_check .
+From release 1.1.0 of nfs-utils onwards, the default will be
+.I no_subtree_check
+as subtree_checking tends to cause more problems than it is worth.
+If you genuinely require subtree checking, you should explicitly put
+that option in the
+.B exports
+file. If you put neither option,
+.I exportfs
+will warn you that the change is pending.
+
.TP
.IR insecure_locks
.TP