aboutsummaryrefslogtreecommitdiff
path: root/nfs/nfs.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix const warningsSamuel Thibault2022-01-171-5/+5
| | | | | Now that the RPCs have const, this forces us cleaning our const-meant functions.
* Fix missing gnu_dev_* prototypesSamuel Thibault2019-07-271-0/+1
| | | | | | | | | | | | * isofs/rr.c: Include <sys/sysmacros.h>. * libdiskfs/file-set-trans.c: Likewise. * libfshelp/fetch-root.c: Likewise. * libnetfs/file-get-translator.c: Likewise. * libnetfs/file-set-translator.c: Likewise. * nfs/nfs.c: Likewise. * nfs/ops.c: Likewise. * storeio/storeio.c: Likewise. * trans/fakeroot.c: Likewise.
* Hurd patches (fix compilation)Luca Weiss2018-06-131-1/+1
| | | | | | | | | | | | | | | | | | * isofs/rr.c (rrip_work): Use gnu_dev_makedev instead of makedev. * libdiskfs/file-set-trans.c (diskfs_S_file_set_translator): Likewise. * libnetfs/file-set-translator.c (netfs_S_file_set_translator): Likeiwse. * nfs/nfs.c (xdr_decode_fattr): Likewise. * storeio/storeio.c (parse_opt): Likewise. * libfshelp/fetch-root.c (fshelp_short_circuited_callback1): Use gnu_dev_major and gnu_dev_minor instead of major and minor. * libnetfs/file-get-translator.c (netfs_S_file_get_translator): Likewise. * nfs/ops.c (netfs_attempt_link): Likewise. * storeio/storeio.c (trivfs_append_args): Likewise. * trans/fakeroot.c (netfs_attempt_mkdev): Likewise. * pfinet/glue-include/linux/mm.h: Include <mach/vm_param.h>. * term/users.c: Include <signal.h>
* Add file_utimens RPC to use a struct timespecFlávio Cruz2018-03-051-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and update the servers to use UTIME_NOW and UTIME_OMIT. * console-client/trans.c (netfs_attempt_utimes): Do not set current time ourself. * console/console.c (netfs_attempt_utimes): Likewise. * ftpfs/netfs.c (netfs_attempt_utimes): Likewise. * hostmux/node.c (netfs_attempt_utimes): Likewise. * usermux/node.c (netfs_attempt_utimes): Likewise. * nfs/ops.c (netfs_attempt_utimes): Likewise. * doc/hurd.texi (file_utimens): Add documentation. * hurd/fs.defs (file_utimens): Add RPC. * libdiskfs/file-utimes.c (diskfs_S_file_utimes): Move implementation and replace with translation layer with... (diskfs_S_file_utimens): ... new function. * libnetfs/file-utimes.c (netfs_S_file_utimes): Likewise with... (netfs_S_file_utimens): ... new function. * libnetfs/init-init.c: Include <error.h>. (netfs_mtime): New variable. (netfs_init): New function. * libnetfs/netfs.h (netfs_attempt_utimes): Update documentation. * libnetfs/priv.h (netfs_mtime): Declare variable. * libtreefs/s-file.c (treefs_S_file_utimes): Convert time values and call treefs_s_file_utimens instead of treefs_s_file_utimes. * libtreefs/treefs-hooks.h: Replace TREEFS_HOOK_S_FILE_UTIMES with TREEFS_HOOK_S_FILE_UTIMENS. * libtreefs/treefs-s-hooks.h: Replace s_file_utimes with s_file_utimens. * libtrivfs/file-utimes.c (trivfs_S_file_utimens): New function. * libtrivfs/times.c (trivfs_set_atime): Try to use file_utimens before using file_utimes. (trivfs_set_mtime): Likewise. * nfsd/ops.c (complete_setattr): Likewise. * trans/fakeroot.c (netfs_attempt_utimes): Likewise. * nfs/nfs.c (xdr_encode_sattr_times): Do not set atime or mtime when they are NULL. * configure.ac: Look for file_futimens, and define UTIME_NOW/OMIT, for compatibility with old glibcs.
* nfs: Use libihash for the node cache.Flavio Cruz2016-02-151-5/+6
| | | | | | | | * nfs/cache.c: Remove old node cache and use libihash. Use a pointer to the node handle as the key and the node itself as the value. Use netfs_make_node_alloc to allow libihash to set 'slot'. * nfs/nfs.c: Pass in a struct handle instead. * nfs/nfs.h: Add a hurd_ihash_locp_t field and remove hnext and hprevp.
* 2007-11-13 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge2007-11-131-19/+22
| | | | | * nfs.c (xdr_encode_sattr_stat, xdr_decode_fattr): Adapt to ``struct stat'' changes.
* 2002-09-29 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann2002-09-291-153/+185
| | | | | | | | | | | | | | | | | | | | | | | | | * mount.c (mount_root): Add parenthesis for post-decrement (even though it is only used as an lvalue here). Increment P after using it in the macro, not within. * rpc.c (initialize_rpc, conduct_rpc): Likewise. * ops.c (process_returned_stat, process_wcc_stat, netfs_validate_stat, netfs_attempt_chown, netfs_attempt_chmod, netfs_attempt_utimes, netfs_attempt_set_size, netfs_attempt_statfs, netfs_attempt_read, netfs_attempt_write, verify_nonexistent, netfs_attempt_lookup, netfs_attempt_mkdir, netfs_attempt_rmdir, netfs_attempt_link, netfs_attempt_create_file, netfs_attempt_unlink, netfs_attempt_rename, netfs_attempt_readlink, netfs_report_access, netfs_check_open_permissions): Likewise. (fetch_directory): Likewise. Also use memcpy instead bcopy. * cache.c (recache_handle): Likewise. * nfs.c (xdr_encode_data, xdr_encode_sattr_mode, xdr_encode_sattr_ids, xdr_encode_sattr_size, xdr_encode_sattr_times, xdr_encode_create_state, xdr_encode_sattr_stat, xdr_decode_64bit, xdr_decode_fattr): Likewise. (xdr_decode_string): Likewise. Also use memcpy instead bcopy. (xdr_decode_fhandle): Likewise. Also use memcpy instead bcopy.
* 2000-12-26 Neal H Walfield <neal@cs.uml.edu>Marcus Brinkmann2001-01-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cache.c: Change cache/hash table size to 509, a prime. Use memcpy/memcmp not bcopy/bcmp. Verify return value from malloc and check the result of rpc transaction _and_ do not act if failed. * main.c: Correct the wording of the help messages. Do not bother initializing global variable to 0. Use memcpy/memcmp not bcopy/bcmp. Verify return value from malloc and check the result of rpc transaction _and_ do not act if failed. * mount.c: Check return values of initialize_rpc. Use memcpy/memcmp not bcopy/bcmp. Verify return value from malloc and strdup. Correct comments. (mount_root): Check result of connect. Handle errors consistently. Reverse loops that are if (! c) {} else when appropriate. * mount.h: Protect header with #ifdef. * name-cache.c: Correct dangerous NPARTIALS macro. Use memcpy/memcmp not bcopy/bcmp. (find_cache): Use PARTIAL_THRESH, not the constant. * nfs-spec.h: Protect header with #ifdef. * nfs.c: Use memcpy/memcmp not bcopy/bcmp. * nfs.h: Likewise. * ops.c (netfs_attempt_mkdir): Check return values of initialize_rpc. Use memcpy/memcmp not bcopy/bcmp. Verify return value from malloc and check the result of rpc transaction _and_ do not act if failed. (netfs_attempt_link): Unlock the directory before the rpc transaction. Check the result of rpc transaction _and_ do not act if failed. * pager.c: Remove, we do not use it. * rpc.c: Use memcpy/memcmp not bcopy/bcmp. Verify return value from malloc and check the result of rpc transaction _and_ do not act if failed. (initialize_rpc): Use AUTH_NONE, not the depreciated AUTH_NULL. Return sane values on failure. (generate_xid): Make inline. (link_rpc): New function. Complements unlink_rpc. (conduct_rpc): Use link_rpc. (rpc_receive_thread): Reroll to a single loop.
* Sun Jan 31 18:39:09 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell1999-01-311-2/+2
| | | | | | | | * nfs.c (xdr_encode_sattr_times): Convert nanoseconds to microseconds correctly. * ops.c (netfs_attempt_utimes): Handle new possibility that ATIME or MTIME might be null.
* 1999-01-22 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-01-241-40/+38
| | | | | * ops.c (netfs_attempt_link): Remove major, minor macro definitions. * nfs.c (xdr_decode_fattr): Remove makedev macro definition.
* Tue Jul 29 15:38:15 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell1997-07-291-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Tue May 20 15:35:39 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell1997-05-201-5/+8
| | | | | | | | | * nfs.c (xdr_encode_create_state): New arg OWNER. Set the owner of the new file to it. All callers changed. * nfs.h (xdr_encode_create_state): Update prototype. * ops.c (netfs_attempt_mkdir): If owner didn't get set correctly (some servers ignore it) then try a chown. (netfs_attempt_create_file): Likewise.
* Mon Nov 18 17:01:38 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell1996-11-181-17/+17
| | | | | | | | | | | | | | | | | | * ops.c (guess_mode_use): Delete function. (netfs_report_access): Use fshelp_access instead of guess_mode_use. Change return type. Sat Nov 16 18:24:55 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * Makefile (SRCS): Remove `cred.c'. * cred.c: Delete file. * nfs.h (struct netcred): Delete type. (cred_has_uid, cred_has_gid): Delete functions. (nfs_initialize_rpc): netcred arg now iouser. * ops.c: Change struct netcred to struct iouser throughout. * pager.c: Likewise. * cache.c (netfs_node_norefs): Likewise. * nfs.c (nfs_initialize_rpc): Convert use of netcred to iouser.
* *** empty log message ***Thomas Bushnell1996-09-041-0/+31
|
* *** empty log message ***Thomas Bushnell1996-08-151-55/+195
|
* *** empty log message ***Thomas Bushnell1996-08-141-9/+31
|
* *** empty log message ***Thomas Bushnell1996-08-121-2/+33
|
* (xdr_encode_sattr_times): `struct timespec' now uses a field prefix of `tv_'.Miles Bader1996-07-231-4/+4
|
* entered into RCSMichael I. Bushnell1996-03-191-10/+31
|
* Formerly nfs.c.~14~Michael I. Bushnell1996-03-181-6/+15
|
* Formerly nfs.c.~13~Michael I. Bushnell1996-02-281-0/+1
|
* Formerly nfs.c.~12~Michael I. Bushnell1996-02-131-13/+31
|
* Formerly nfs.c.~11~Michael I. Bushnell1995-12-151-11/+7
|
* Formerly nfs.c.~10~Michael I. Bushnell1995-12-121-9/+65
|
* Formerly nfs.c.~9~Michael I. Bushnell1995-12-111-34/+55
|
* Formerly nfs.c.~8~Michael I. Bushnell1995-12-081-0/+126
|
* Formerly nfs.c.~7~Michael I. Bushnell1995-12-071-1/+16
|
* Formerly nfs.c.~6~Michael I. Bushnell1995-11-151-108/+0
|
* Formerly nfs.c.~5~Michael I. Bushnell1995-10-041-11/+0
|
* Formerly nfs.c.~4~Michael I. Bushnell1995-10-021-5/+15
|
* Formerly nfs.c.~3~Michael I. Bushnell1995-09-291-17/+82
|
* Formerly nfs.c.~2~Michael I. Bushnell1995-09-281-25/+149
|
* Initial revisionMichael I. Bushnell1995-09-281-0/+65