diff options
Diffstat (limited to 'nfs/ChangeLog')
-rw-r--r-- | nfs/ChangeLog | 618 |
1 files changed, 618 insertions, 0 deletions
diff --git a/nfs/ChangeLog b/nfs/ChangeLog new file mode 100644 index 00000000..9905bb06 --- /dev/null +++ b/nfs/ChangeLog @@ -0,0 +1,618 @@ +1999-07-10 Roland McGrath <roland@baalperazim.frob.com> + + * nfs.h: Add #include <sys/mman.h> for munmap decl. + +1999-07-09 Thomas Bushnell, BSG <tb@mit.edu> + + * ops.c (netfs_get_dirents): Use mmap instead of vm_allocate. + * pager.c (pager_read_page): Likewise. + +1999-07-03 Thomas Bushnell, BSG <tb@mit.edu> + + * ops.c (netfs_get_dirents): Use munmap instead of vm_deallocate. + * pager.c (pager_read_page): Likewise. + +1999-02-01 Mark Kettenis <kettenis@phys.uva.nl> + + * ops.c: Include <maptime.h>. + (netfs_attempt_utimes): Fix various typo's. + +Sun Jan 31 18:39:09 1999 Thomas Bushnell, BSG <tb@mit.edu> + + * 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> + + * ops.c (netfs_attempt_link): Remove major, minor macro definitions. + * nfs.c (xdr_decode_fattr): Remove makedev macro definition. + +1998-07-20 Roland McGrath <roland@baalperazim.frob.com> + + * mount.c (mount_root): Make perror explanation strings consistent. + + * mount.c (pmap_initialize_rpc): Make static. + (mount_initialize_rpc): Likewise. + +Wed Aug 20 14:31:03 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_link): Implement EXCL == 0 case. + (netfs_attempt_rename): Implement EXCL != 0 case. + + * pager.c (netfs_get_filemap): If pager_create fails, return + error to caller. + +Wed Aug 6 15:23:03 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_unlink): Purge cache-held references + *before* counting live references. Use new function. + * name-cache.c (purge_lookup_cache_node): New function. + * nfs.h (purge_lookup_cache_node): New decl. + + * cache.c (netfs_node_norefs): Don't do delete RPC here, fork off + a separate thread to do it. + (struct fnd): New type. + (forked_node_delete): New function. + +Mon Aug 4 15:56:37 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * name-cache.c (struct lookup_cache): Drop members `node_cache_fh' + and `node_cache_len'. New member `np'. + (enter_lookup_cache): Fill C->np instead of C->node_cache_fh. + Acquire an additional reference on NP to keep it live. If there + was a reference there before, release it. + (purge_lookup_cache): If there is a reference to a node on a + purged entry, release it. + (check_lookup_cache): If there is a reference to a node on an + out-of-date entry, release it. When returning live positive hits, + use the NP stored instead of looking one up. + +Fri Aug 1 15:56:56 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * main.c (netfs_append_args): Append --name-cache-timeout and + --name-cache-neg-timeout values. + +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. + +1997-07-23 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c: Include <error.h>. + (main): Failure to map MAPPED_TIME is a fatal error. + +1997-06-09 Miles Bader <miles@gnu.ai.mit.edu> + + * ops.c (netfs_validate_stat): Don't clear NP->istranslated. + +Wed May 21 12:07:24 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_create_file): Only attempt chown if the + create succeeded. + +Tue May 20 15:35:39 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * 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. + +Thu Apr 10 13:25:12 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_set_size): Short circuit EACCES to cover + one important case. + +Fri Feb 21 16:47:35 1997 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (netfs_append_args): Present the remote filesystem as a + single argument, in HOST:FS format. + +Wed Feb 12 13:53:42 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_check_open_permissions): If this is a new node, + don't report an error here. (Though, later I/O requests still + might fail.) + +Wed Nov 20 17:13:59 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * Makefile (HURDLIBS): Add iohelp. + +Mon Nov 18 17:01:38 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * 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. + +Mon Nov 4 21:23:58 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * rpc.c (rpc_list_lock): Delete variable. Omit all mention of it + throughout this file. Expand the use of outstanding_lock to cover + what rpc_list_lock used to handle. + +Fri Nov 1 18:12:21 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * rpc.c (conduct_rpc): Unlock OUTSTANDING_LOCK if write fails. + +Wed Oct 30 18:25:18 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_statfs): Convert incoming numbers from + network to host byte order. + Don't convert sizes from IOSIZE to BSIZE units. + Return BSIZE in f_bsize field, not IOSIZE. + Fill in f_fsid field. + +Thu Oct 24 23:01:35 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (runtime_argp_children): New variable. + (runtime_argp_parents): Variable removed. + (runtime_argp): Use RUNTIME_ARGP_CHILDREN, not RUNTIME_ARGP_PARENTS. + (main): Rename ARGP_PARENTS to ARGP_CHILDREN, and change the + element type to `struct argp_child'; change the reference in ARGP + accordingly. + +Fri Oct 4 00:00:12 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * mount.c: Add hacks to avoid idiotic sun definitions of TRUE, + FALSE, and malloc in <rpc/types.h>. + * nfs.h (bool_t, enum_t): Typedefs removed. + +Thu Oct 3 12:04:36 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_write): If we get EINTR after having + already written something, return a short count. + + * ops.c (netfs_attempt_create_file): If verify_nonexistent returns + an error, bother to properly unlock NP before returning. + +Mon Sep 30 15:45:31 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (OPT_RSIZE): Changed to 'R'. + (OPT_WSIZE): Changed to 'W'. + (doc): Add general description. + +Thu Sep 26 14:03:07 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * nfs.h (enum_t): New decl. + +Wed Sep 18 13:03:22 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (netfs_append_args): Renamed from netfs_get_options. + Don't initialize ARGZ & ARGZ_LEN anymore. + Add remote filesystem spec to output. + (hold): Variable removed. + (main): Don't use HOLD anymore. + +Thu Sep 12 16:46:47 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * Makefile (HURDLIBS): New variable. + (nfs): Omit special dependency. + +Tue Sep 3 14:00:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * nfs-spec.h: Renamed from rpcsvc/nfs_prot.h. + * mount.c: Include "mount.h" instead of <rpcsvc/mount.h>. + * nfs.h: Include "nfs-spec.h" instead of <rpcsvc/nfs_prot.h>. + * rpcsvc/mount.h: Deleted file. + * rpcsvc: Deleted directory. + * mount.h (MOUNTPROG): Renamed from MOUNT_RPC_PROGRAM. + (MOUNTVERS): Renamed from MOUNT_RPC_VERSION. + * Makefile (RPCSVC_FILES): Deleted var. + (lndist, lndist-rpcsvc-files, + $(top_srcdir)/hurd-snap/$(dir)/rpcsvc): Deleted targets. + (LCLHDRS): Added mount.h and nfs-spec.h. + +Thu Aug 29 10:41:27 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * rpcsvc/nfs_prot.h (createmode): Spell EXCLUSIVE correctly. + * nfs.c (hurd_mode_to_nfs_type): New function. + * nfs.h (hurd_mode_to_nfs_type): New decl. + * ops.c (netfs_attempt_rmdir): process_wcc_stat for NP, not DIR. + (netfs_attempt_link): Spell netfs_validate_stat correctly. + (minor, major): New macros. + (netfs_report_access): Don't try and return an error. + + * rpc.c (conduct_rpc): Tolerate and return errors from write. + + * Makefile (RPCSVC_FILES): New variable. + (lndist): Depend on lndist-rpcsvc-files. + (lndist-rpcsvc-files, $(top_srcdir)/hurd-snap/$(dir)/rpcsvc): New + targets. + +Fri Aug 16 11:56:53 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (process_wcc_stat): New function. + (netfs_attempt_chown): Use process_wcc_stat instead of + register_fresh_stat. Pack and unpack v3 SETATTR structure if + appropriate. + (netfs_attempt_chmod): Likewise. + (netfs_attempt_utimes): Likewise. + (netfs_attempt_set_size): Likewise. + (netfs_attempt_lookup): Use process_returned_stat instead of + register_fresh state. Unpack v3 LOOKUP structure if appropriate. + (netfs_attempt_link): Likewise. + (verify_nonexistent): Assert that we are v2. + (netfs_report_access): Use NFS3PROC_ACCESS if we are v3. + (netfs_check_open_permissions): Use netfs_report_access. + (netfs_attempt_readlink): Unpack v3 READLINK structure if + appropriate. + (netfs_attempt_read): Pack and unpack v3 READ structure in + appropriate. Use process_returned_stat instead of + register_fresh_stat. + (netfs_attempt_write): Pack and unpack v3 WRITE structure in + appropriate. Use process_wcc_stat instead of + register_fresh_stat. + (netfs_attempt_create_file): Pack and unpack v3 CREATE structure + if appropriate. Use process_returned_stat instead of + register_fresh_stat. + (netfs_attempt_link) [CHRDEV, BLKDEV, FIFO, SOCK]: If v3, use new + MKNOD call instead of CREATE with overloaded mode. + (netfs_attempt_link) [SYMLINK]: If pack and unpack v3 SYMLINK + structure if appropriate. + (netfs_attempt_unlink): Unpack v3 REMOVE structure if appropriate. + (netfs_attempt_rmdir): Unpack v3 RMDIR structure if appropriate. + (netfs_attempt_rename): Unpack v3 RENAME structure if appropriate. + + * rpcsvc/nfs_prot.h (ACCESS3_READ, ACCESS3_LOOKUP, ACCESS3_MODIFY, + ACCESS3_EXTEND, ACCESS3_DELETE, ACCESS3_EXECUTE): New macros. + + * ops.c (netfs_attempt_chown): Bother to read NFS error/success + value. + +Thu Aug 15 15:24:29 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (verify_nonexistent): Don't need to lock DIR; it's already + locked. + (netfs_attempt_link): Lock DIR *before* calling verify_nonexistent. + + * nfs.c (xdr_encode_fhandle) [protocol_version == 2]: Copy + fhandle->data, not fhandle itself. + +Wed Aug 14 12:33:37 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * nfs.c (xdr_encode_fhandle): Second arg now a `struct fhandle *'. + Encode v3 fhandle if appropriate. + * cache.c: Include <netinet/in.h>. + (hash): New arg `length'. + (lookup_fhandle): Changed to be more like xdr_decode_* functions. + All callers changed. Do the right thing for v3. + (recache_handle): Likewise. + * nfs.h (struct fhandle): New type. + (struct netnode): Member `handle' is now a `struct fhandle'. + (xdr_encode_fhandle): Second arg now a `struct fhandle *'. + (lookup_fhandle, recache_handle): Changed to be more like + xdr_decode_* functions. + + * rpcsvc/nfs_prot.h (enum sattr_time_how): New type. + * nfs.c (xdr_encode_64bit): New function. + (xdr_encode_sattr_mode, xdr_encode_sattr_ids, + xdr_encode_sattr_size, xdr_encode_sattr_times, + xdr_encode_create_state, xdr_encode_sattr_stat): Encode v3 sattr + if appropriate. + (xdr_decode_fattr): Decode v3 fattr if appropriate. + + * rpcsvc/nfs_prot.h (NFS_FHSIZE): Deleted macro. + (NFS2_FHSIZE, NFS3_FHSIZE, NFS3_COOKIEVERFSIZE, NFS3_CREATEVERFSIZE, + NFS3_WRITEVERFSIZE): New macros. + (enum ftype): Deleted NFFIFO. Added NF2FIFO, NF3FIFO, and an + alias NF2BAD for NF3FIFO. + (NFSPROC_NULL, NFSPROC_GETATTR, NFSPROC_SETATTR, + NFSPROC_LOOKUP, NFSPROC_READLINK, NFSPROC_READ, + NFSPROC_WRITE, NFSPROC_CREATE, NFSPROC_REMOVE, + NFSPROC_RENAME, NFSPROC_LINK, NFSPROC_SYMLINK, NFSPROC_MKDIR, + NFSPROC_RMDIR, NFSPROC_READDIR): Replace with new + macros that take a version arg. All users changed to use new + version arg. + (NFS_PROTOCOL_FUNC): New macro. + (NFS2PROC_NULL, NFS2PROC_GETATTR, NFS2PROC_SETATTR, NFS2PROC_ROOT, + NFS2PROC_LOOKUP, NFS2PROC_READLINK, NFS2PROC_READ, + NFS2PROC_WRITECACHE, NFS2PROC_WRIT, NFS2PROC_CREATE, + NFS2PROC_REMOVE, NFS2PROC_RENAME, NFS2PROC_LINK, NFS2PROC_SYMLINK, + NFS2PROC_MKDIR, NFS2PROC_RMDIR, NFS2PROC_READDIR, NFS2PROC_STATFS, + NFS3PROC_NULL, NFS3PROC_GETATTR, NFS3PROC_SETATTR, + NFS3PROC_LOOKUP, NFS3PROC_ACCESS, NFS3PROC_READLINK, + NFS3PROC_READ, NFS3PROC_WRITE, NFS3PROC_CREATE, NFS3PROC_MKDIR, + NFS3PROC_SYMLINK, NFS3PROC_MKNOD, NFS3PROC_REMOVE, NFS3PROC_RMDIR, + NFS3PROC_RENAME, NFS3PROC_LINK, NFS3PROC_READDIR, + NFS3PROC_READDIRPLUS, NFS3PROC_FSSTAT, NFS3PROC_FSINFO, + NFS3PROC_PATHCONF, NFS3PROC_COMMIT): New macros. All callers + appropriately changed. + + * nfs.c (nfs_error_trans): NFS_SERVERFAULT maps to EIO; + NFSERR_BADTYPE maps to EOPNOTSUPP. + + * rpcsvc/nfs_prot.h (nfsstat, ftype, struct nfs_fh, nfs_fh, struct + nfstime, nfstime, struct fattr, fattr, struct sattr, sattr, + filename, nfspath, struct attrstat, attrstat, struct sattrargs, + sattrargs, struct diropargs, diropargs, struct diropokres, + diropokres, struct diropres, diropres, struct readlinkres, + readlinkres, struct readargs, readargs, struct readokres, + readokres, struct readres, readres, struct writeargs, writeargs, + struct createargs, createargs, struct renameargs, renameargs, + struct linkargs, linkargs, struct symlinkargs, symlinkargs, + nfscookie, struct readdirargs, readdirargs, struct entry, entry, + struct dirlist, dirlist, struct readdirres, readdirres, struct + statfsokres, statfsokres, struct statfsres, statfsres): Delete + unused types. + (xdr_nfsstat, xdr_ftype, xdr_nfs_fh, xdr_nfstime, xdr_fattr, + xdr_sattr, xdr_filename, xdr_nfspath, xdr_attrstat, xdr_sattrargs, + xdr_diropargs, xdr_diropokres, xdr_diropres, xdr_readlinkres, + xdr_readargs, xdr_readokres, xdr_readres, xdr_writeargs, + xdr_createargs, xdr_renameargs, xdr_linkargs, xdr_symlinkargs, + xdr_nfscookie, xdr_readdirargs, xdr_entry, xdr_dirlist, + xdr_readdirres, xdr_statfsokres, xdr_statfsres, nfsproc_null_2, + nfsproc_getattr_2, nfsproc_setattr_2, nfsproc_root_2, + nfsproc_lookup_2, nfsproc_readlink_2, rfsproc_read_2, + nfsproc_writecache_2, nfsproc_write_2, nfsproc_create_2, + nfsproc_remove_2, nfsproc_rename_2, nfsproc_link_2, + nfsproc_symlink_2, nfsproc_mkdir_2, nfsproc_rmdir_2, + nfsproc_readdir_2, nfsproc_statfs_2): Delete unused function + declarations. + +Tue Aug 13 14:57:03 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_create_file): Sun's NFS client does not + expect NFSPROC_CREATE to be exclusive. Accordingly, on most + servers (including ours) it isn't exclusive. (Which, of course, + contradicts Sun's own RGC 1094, section 2.2.10.) Which means we + have to insert our own test here to make sure the file doesn't + exist before attempting NFSPROC_CREATE. + (netfs_attempt_link): Likewise. + (verify_nonexistent): New function. + +Mon Aug 12 11:13:58 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * nfs.c (nfs_error_trans): Repair syntax. + +Thu Aug 8 18:48:22 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * nfs.h (protocol_version): New variable. + * mount.c (protocol_version): Define and initialize to `2'. + + * rpcsvc/nfs_prot.h (enum nfsstat): Added new nfsv3 error codes: + NFSERR_XDEV, NFSERR_INVAL, NFSERR_MLINK, NFSERR_REMOTE, + NFSERR_BADHANDLE, NFSERR_NOT_SYNC, NFSERR_BAD_COOKIE, + NFSERR_NOTSUPP, NFSERR_TOOSMALL, NFSERR_SERVERFAULT, + NFSERR_BADTYPE, NFSERR_JUKEBOX. + (NFSERR_TRYLATER): New macro. + * nfs.c (nfs_error_trans): Understand v3 error codes if we are + runnnig v3. + +Wed Jul 31 13:25:00 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_statfs): Use NFSPROC_STATFS, not SETATTR to + do a statfs. + +Tue Jul 23 19:41:07 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * nfs.c (xdr_encode_sattr_times): `struct timespec' now uses a + field prefix of `tv_'. + +Wed Jul 17 13:12:31 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * main.c (mounted_soft): Initialize to zero. + +Thu Jul 4 17:14:42 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_link) [case SYMLINK]: Include directory + handle as an RPC arg. + +Wed Jun 26 16:41:00 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (netfs_get_options): New function. + (netfs_parse_runtime_options, netfs_unparse_runtime_options): + Functions removed. + (runtime_argp_parents, runtime_argp, netfs_runtime_argp): New variables. + (main): Use &NETFS_STD_STARTUP_ARGP insteda of NETFS_STARTUP_ARGP. + +Thu Jun 13 09:24:24 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (SRCS): Remove pager.c. + * nfs.h (struct netnode): Add member `fileinfo'. + * nfs.h (register_fresh_stat): Add decl. + +Wed Jun 12 22:37:31 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (SRCS): Add pager.c. + +Wed May 22 18:49:16 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (parse_startup_opt): Use ARGP_ERR_UNKNOWN instead of EINVAL. + +Tue May 14 14:00:21 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_unlink): Add new arg in call to + netfs_attempt_link. + +Sat May 11 01:10:05 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (parse_common_opt): Use ARGP_ERR_UNKNOWN instead of EINVAL. + +Fri May 10 18:15:11 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_rename, netfs_attempt_link): New parm EXCL, + but don't implement the hard case yet. + +Thu May 9 20:24:21 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_attempt_statfs): Expect and fill in new statfs + buffer. + +Fri Apr 19 13:50:25 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * main.c (main): Failure to bind privileged ports is indicated by + EACCES, not EPERM. + +Thu Apr 11 13:51:33 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (guess_mode_use): New function. + (netfs_check_open_permissions, netfs_report_access): Replace old + clever versions with less obtrusive one. + +Tue Apr 2 09:12:28 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_report_access): Bother to initialize LEN. + +Fri Mar 29 17:26:14 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * rpc.c: Define malloc to something random around include of rpc/* + header files to avoid bogus definition there. + +Fri Mar 29 17:10:58 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_report_access): Make sure netfs_attempt_read return + a reasonable LEN. + (netfs_attempt_write): Truncate to THISAMT instead of AMT. + +Tue Mar 19 11:00:54 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (LCLHDRS): Drop rpc.h. + + * consts.c: Doc fixes. + * cache.c: Likewise. + * cred.c: Likewise. + * main.c: Likewise. + * mount.c: Likewise. + * mount.h: Likewise. + * nfs.c: Likewise. + * ops.c: Likewise. + * rpc.c: Likewise. + + * rpc.c (rpc_receive_thread): Allocate receive buffer big enough + for largest read we expect. + + * cache.c (lookup_fhandle): Correctly install new node in hash + table slot. + + * main.c (parse_startup_opt): Pass STATE, not STATE->argp in call + to argp_error. + + * cache.c (lookup_fhandle): Initialize NN->dead_dir and + NN->dead_name. + + * ops.c: Include <unistd.h>. + (register_fresh_stat): Repair syntax. + +Mon Mar 18 19:49:28 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (main, netfs_parse_runtime_options): Pass new arg to + argp_parse. + +Mon Mar 18 11:19:27 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (register_fresh_stat): Set fs_fsid, st_fstype, st_gen, + st_author, and st_flags here. + * nfs.c (xdr_decode_fattr): Don't set st_fstype, st_gen, + st_author, or st_flags here. + + * ops.c (netfs_attempt_write): Increment OFFSET each time around + the loop. + + * nfs.c (xdr_encode_create_state): Call hurd_mode_to_nfs_mode and + htonl on MODE. + + * nfs.c (xdr_encode_sattr_stat): New function. + +Thu Mar 14 15:11:41 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * nfs.h (struct netnode): New members `dtrans' and `transarg'. + * cache.c (lookup_fhandle): Initialize NN->dtrans. + (netfs_node_norefs): Free transarg if necessary. + (recache_handle): New function. + * ops.c (netfs_attempt_mkfile): Make dtrans possible if it + isn't already. + (netfs_attempt_unlink): Likewise, when doing the rename hack. + (netfs_attempt_mksymlink): Implement using dtrans and transarg. + (netfs_attempt_mkdev): Likewise. + (register_fresh_stat): If NP->nn->dtrans is set, then mutate the + mode here. + (netfs_attempt_readlink): If NP->nn->dtrans is SYMLINK, then DTRT. + (netfs_attempt_link): Only issue NFSPROC_LINK if dtrans is not + operative. Otherwise, DTRT. + (netfs_attempt_chmod): Implement type-changing using dtrans. + +Tue Mar 12 15:23:32 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * ops.c (netfs_set_translator, netfs_attempt_mksymlink, + netfs_attempt_mkdev): New functions. + (netfs_attempt_chmod): Detect attempt to change node type. + (netfs_validate_stat): Clear NP->istranslated. + +Mon Mar 4 16:16:13 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (main): Use NETFS_STARTUP_ARGP. + (netfs_parse_runtime_options, netfs_unparse_runtime_options): New funs. + +Wed Feb 28 19:24:23 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * main.c (options): New variable. + (main): Parse our arguments. |