summaryrefslogtreecommitdiff
path: root/nfs/nfs.h
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1997-07-29 20:57:33 +0000
committerThomas Bushnell <thomas@gnu.org>1997-07-29 20:57:33 +0000
commit4d75b660a263b510e2a2b2176196c20a8af58851 (patch)
tree13e9cbf0f9f150fb71059e18b7dd7f8c6add744e /nfs/nfs.h
parentb9d1d34ace30ce6c0f0a209b35b74527b7c7bd63 (diff)
Tue Jul 29 15:38:15 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* name-cache.c (check_lookup_cache): Use name_cache_neg_timeout in preference to name_cache_timeout for negative hits. * nfs.h (name_cache_neg_timeout): New variable. * main.c (DEFAULT_NAME_CACHE_NEG_TIMEOUT): New macro. (name_cache_neg_timeout): Initialize new variable. (OPT_NCACHE_NEG_TO): New option key. (common_options): Add --name-cache-neg-timeout switch. (parse_common_opt): Process OPT_NCACHE_NEG_TO option key. * ops.c (netfs_attempt_lookup): Do cast of -1 correctly to match check_lookup_cache and ANSI C rules. * name-cache.c (check_lookup_cache): Unlock DIR correctly before returning a negative cache hit. * rpc.c (rpc_receive_thread): Don't print "dropping reply" messages any more. * ops.c (netfs_attempt_lookup): Cash all lookups, both positive and negative. (netfs_attempt_mkdir): Purge cache before creating directory entry. (netfs_attempt_link): Likewise. (netfs_attempt_create_file): Likewise. * ops.c (netfs_attempt_lookup): Pass correct node to enter_lookup_cache as the child. Thu Jul 24 13:15:56 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * name-cache.c: New file. * ops.c (netfs_attempt_lookup): Check lookup cache before trying RPC. After successful lookup, make cache entry. (netfs_attempt_unlink): Purge cache before doing operation. (netfs_attempt_rmdir): Likewise. (netfs_attempt_rename): Purge cache for both names before operation. * nfs.h (enter_lookup_cache, purge_lookup_cache, check_lookup_cache): New prototypes. * Makefile (SRCS): Add name-cache.c. * nfs.h (name_cache_timeout): New variable. * main.c (DEFAULT_NAME_CACHE_TIMEOUT): New macro. (name_cache_timeout): Initialize new variable. (OPT_NCACHE_TO): New option key. (common_options): Add --name-cache-timeout switch. (parse_common_opt): Process OPT_NCACHE_TO option key. * cache.c (lookup_fhandle): Don't parse NFS XDR format, instead take a length arg. Return void. All callers changed to use new function xdr_decode_fhandle. * nfs.c (xdr_decode_fhandle): New function. * nfs.h (xdr_decode_fhandle): New prototype. (lookup_fhandle): Update prototype.
Diffstat (limited to 'nfs/nfs.h')
-rw-r--r--nfs/nfs.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/nfs/nfs.h b/nfs/nfs.h
index 51cd3e46..5a3dd8a9 100644
--- a/nfs/nfs.h
+++ b/nfs/nfs.h
@@ -88,6 +88,12 @@ extern int stat_timeout;
/* How long to keep around file contents caches */
extern int cache_timeout;
+/* How long to keep around positive dir cache entries */
+extern int name_cache_timeout;
+
+/* How long to keep around negative dir cache entries */
+extern int name_cache_neg_timeout;
+
/* How long to wait for replies before re-sending RPC's. */
extern int initial_transmit_timeout;
extern int max_transmit_timeout;
@@ -160,6 +166,7 @@ int *xdr_encode_sattr_stat (int *, struct stat *);
int *xdr_encode_create_state (int *, mode_t, uid_t);
int *xdr_decode_fattr (int *, struct stat *);
int *xdr_decode_string (int *, char *);
+int *xdr_decode_fhandle (int *, struct node **);
int *nfs_initialize_rpc (int, struct iouser *, size_t, void **,
struct node *, uid_t);
error_t nfs_error_trans (int);
@@ -177,5 +184,10 @@ void timeout_service_thread (void);
void rpc_receive_thread (void);
/* cache.c */
-int *lookup_fhandle (int *, struct node **);
+void lookup_fhandle (void *, size_t, struct node **);
int *recache_handle (int *, struct node *);
+
+/* name-cache.c */
+void enter_lookup_cache (char *, size_t, struct node *, char *);
+void purge_lookup_cache (struct node *, char *, size_t);
+struct node *check_lookup_cache (struct node *, char *);