summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--support/nfs/cacheio.c8
-rw-r--r--utils/exportfs/exportfs.c3
3 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 98893a1..f7ec2da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
+
+ * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
+ isn't necessary.
+ * support/nfs/cacheio.c(cache_flush): Change order in which caches
+ are flushed so that dependancies don't keep things in the cache
+ too long.
+
2004-03-18 Chip Salzenberg <chip@pobox.com>
* debian/changelog: Version 1.0.6-2.
diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
index 20d195c..33231b0 100644
--- a/support/nfs/cacheio.c
+++ b/support/nfs/cacheio.c
@@ -246,10 +246,16 @@ cache_flush(int force)
int c;
char stime[20];
char path[200];
+ /* Note: the order of these caches is important.
+ * The need to be flushed in dependancy order. So
+ * a cache that references items in another cache,
+ * as nfsd.fh entries reference items in nfsd.export,
+ * must be flushed before the cache that it references.
+ */
static char *cachelist[] = {
"auth.unix.ip",
- "nfsd.export",
"nfsd.fh",
+ "nfsd.export",
NULL
};
stb.st_mtime = time(0);
diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
index 290d8b2..b4f0226 100644
--- a/utils/exportfs/exportfs.c
+++ b/utils/exportfs/exportfs.c
@@ -130,7 +130,8 @@ main(int argc, char **argv)
if (!f_export)
for (i = optind ; i < argc ; i++)
unexportfs(argv[i], f_verbose);
- rmtab_read();
+ if (!new_cache)
+ rmtab_read();
}
if (!new_cache) {
xtab_mount_read();