diff options
author | Thomas Bushnell <thomas@gnu.org> | 1997-07-29 20:57:33 +0000 |
---|---|---|
committer | Thomas Bushnell <thomas@gnu.org> | 1997-07-29 20:57:33 +0000 |
commit | 4d75b660a263b510e2a2b2176196c20a8af58851 (patch) | |
tree | 13e9cbf0f9f150fb71059e18b7dd7f8c6add744e /nfs/nfs.h | |
parent | b9d1d34ace30ce6c0f0a209b35b74527b7c7bd63 (diff) | |
download | hurd-4d75b660a263b510e2a2b2176196c20a8af58851.tar.gz hurd-4d75b660a263b510e2a2b2176196c20a8af58851.tar.bz2 hurd-4d75b660a263b510e2a2b2176196c20a8af58851.zip |
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.h | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -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 *); |