diff options
author | neilbrown <neilbrown> | 2004-06-08 03:16:36 +0000 |
---|---|---|
committer | neilbrown <neilbrown> | 2004-06-08 03:16:36 +0000 |
commit | 83e21e0398d4aa4028fb14586a7726da9088b65f (patch) | |
tree | 9755cf7a1cade0e56491340fa00b2616f96077e9 | |
parent | a2f85c4e2b561a4911c847f72d986ac158c4e9ca (diff) | |
download | nfs-utils-83e21e0398d4aa4028fb14586a7726da9088b65f.tar.gz nfs-utils-83e21e0398d4aa4028fb14586a7726da9088b65f.tar.xz nfs-utils-83e21e0398d4aa4028fb14586a7726da9088b65f.zip |
Fix cache flushing problem.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | support/nfs/cacheio.c | 8 | ||||
-rw-r--r-- | utils/exportfs/exportfs.c | 3 |
3 files changed, 17 insertions, 2 deletions
@@ -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(); |