📄 changelog
字号:
Thu Oct 12 15:57:24 1989 Jan-Simon Pendry (jsp at achilles) * Added ${/var} and ${var/} variable expansions. The first gives the "basename" component of the variable, the latter gives the "dirname" component. Additionally, spurious /'s are deleted after the variable expansions is complete. * Added new -C option to allow the machine's cluster name to be given to amd. ${cluster} fetches the value and can be used as another selector. * Broken the major data struct (am_node) into three layers: am_node (one for each automount node), mntfs (one for each mounted filesystem) and fserver (one for each file server). Machine up/down state is maintained in the fserver layer. Filesystem mount/unmount state is maintained in the mntfs layer. This change fixes the last known major problem caused by the lack of a central focus for filesystem and fileserver status. There is a dummy file server layer for local filesystems (ufs, link, program, error).Tue Oct 10 11:15:42 1989 Jan-Simon Pendry (jsp at achilles) * 5.0 Patchlevel 5. * (nfs_ops.c) the filehandle cache is now flushed when a filesystem is unmounted. This avoids ending up with stale information if a server bounces. * (clock.c) new module to implement callouts. Many other routines changed to use callouts instead of messing with ttl fields.Sun Oct 1 17:08:20 1989 Jan-Simon Pendry (jsp at achilles) * 5.0 Patchlevel 3 & 4. * Numerous cleanups.Wed Sep 13 14:30:05 1989 Jan-Simon Pendry (jsp at achilles) * 5.0 Patchlevel 2. * (nfs_ops.c) portmap information is not remembered beyond the basic filehandle cache interval. That avoids problems when a new portmap and/or rpc.mountd is started and the bound port changes. * (mapc.c) cache reloads are automatically done every hour. * Removed xlog macro in favour of plog() so that the log level can be reflected through to syslog(). log() routine renamed to plog() which takes an extra parameter indicating the log level.Tue Sep 5 20:00:19 1989 Jan-Simon Pendry (jsp at achilles) * (nfs_ops.c) when a server is known to be down, any cached file handles and port mapping informaton is flushed since that may have changed when it comes back up. * (map.c) timeout no longer attempts to unmount a hung mount point.Mon Sep 4 14:49:18 1989 Jan-Simon Pendry (jsp at achilles) * (afs_ops.c) a mount node which timed out during mount is now retained for the normal timeout interval rather than for a short period. This avoids wasting time retrying mounts from a server which is down. * (afs_ops.c) hung mounts are now detected and not used as a duplicate mount - something which defeated the replacement fs scheme. * (nfs_ops.c) keepalive's now back-off when a server has gone down.Thu Aug 31 21:18:35 1989 Jan-Simon Pendry (jsp at achilles) * 5.0 Patchlevel 1. * Fixed several bugs which showed up in the keepalive implementation when a gateway went down causing a different sequence of errors than usual.Wed Aug 30 11:29:21 1989 Jan-Simon Pendry (jsp at achilles) * (amq.x) now uses a Sun assigned program number. * Revision 5.0 - can now start using metaconfig.Tue Aug 29 14:36:48 1989 Jan-Simon Pendry (jsp at achilles) * (os-u3_0.h, os-type) now knows about DECstations (mips). * (nfs_stubs.c) Added hooks to readlink entry point to call per-fs readlink routine if it exists, otherwise old behaviour. * (afs_ops.c) Added implementation of "type=direct". This is the same as "type=auto" but is itself the link to the mount point, rather than being a directory containing a list of links to mount points.Mon Aug 28 17:48:15 1989 Jan-Simon Pendry (jsp at achilles) * (afs_ops.c) Changed readdir to workaround a problem on ultrix 3 where it seems to forget that eof has been reached.Thu Aug 24 15:17:55 1989 Jan-Simon Pendry (jsp at achilles) * Created "beta16". * (afs_ops.c) /defaults is located along with every key. this makes it possible to update the /defaults in a map and get to use it. * (mapc.c) added map cache synchronization support. if a file or ndbm map is updated the cache is junked so avoiding things getting out of sync.Wed Aug 23 19:17:52 1989 Jan-Simon Pendry (jsp at achilles) * (os-u3_0.h) new file to support Ultrix 3.0 * (opts.c) allow environment variables to be accessed via the same ${env} syntax used for options & selectors.Tue Aug 22 13:19:49 1989 Jan-Simon Pendry (jsp at achilles) * (opts.c, get_args.c) added support for kernel architecture type to allow /usr/kvm to be automounted under SunOS 4.x. * (os-xinu43.h) updated for june '89 release of MORE/bsd. * (opts.c) fixed memory allocation problems where some strings may not have been strdup'ed before they were free'ed so causing the malloc arena to get into a twist. This caused core dumps on some machines and infinite loops on others. * (*.c) clock handling is now done by a macro. Global variable clock_valid is > 0 (ie the time) when valid, 0 if invalid. * (map.c) timeout code survived a complete rewrite and is now O(n) rather than O(n^2). * (info_hes.c) new database hooks for Hesiod nameserver. * (get_args.c) the local sub-domain is picked up from the hostname if it is not specifed with -d. The subdomain is then stripped from the hostname. * (am.c) when a SIGTERM is received, an immediate abort occurs - only the top-level automounts are unmounted; all other mounts stay -- use amd -r to restart. * (afs_ops.c) cleaned up key prefix handling. Again updated the "hostname" string passed to the kernel so that includes the hostname, pid and mount point.Tue Aug 8 16:05:23 1989 Jan-Simon Pendry (jsp at achilles) * (nfs_ops.c) changed the way the file handle cache is managed. No longer gets a race condition between something entering the cache and being used and discard.Tue Jul 25 20:40:51 1989 Jan-Simon Pendry (jsp at achilles) * (map.c) changed fh_to_mp2 so that it does not return ESTALE during shutdown. it returns ENOENT instead which avoids thrashing with the kernel.Sun Jul 23 15:06:10 1989 Jan-Simon Pendry (jsp at achilles) * (afs_ops.c) make sure the incoming key from the kernel does not contain any characters which could cause trouble during macro expansion (such as `"! etc). * (afs_ops.c) fixed contruction of "mtab" entry.Fri Jul 21 11:01:05 1989 Jan-Simon Pendry (jsp at achilles) * (afs_ops.c) some changes to support the new startup shutdown scheme. * (map.c) startup and shutdown are now done using the standard interfaces. Startup is done by creating a private cache map ";root;" and then doing lookups on all the names in it. Shutdown is done by forcibly timing out all the mount points including the automount points. * (info_*.c) modified to provide interface required by mapc.c module. * (mapc.c) new module to implement map caching. Caching can be controlled by an fs option. "all" means cache the entire map (if possible). "inc" means cache things incrementally. "none" means never cache things. Each map type has a default caching mode which is used if cache option "default" is used.Wed Jul 19 16:14:52 1989 Jan-Simon Pendry (jsp at achilles) * (sched.c) implements a general sleep/wakeup scheme and uses it for sub-process handling. * (nfs_start.c) task_notify() called from where it used to be called. * (nfs_ops.c) now implements a non-blocking rpc library. Everything in nfs_ops was changed to use it. This should not be in this file and will be moved later. * (map.c) if a mount point times out and it is deferred then issue a wakeup so that it can be retried. * (map.c) when creating a new mount point fetches the entry "/defaults" from the associated map if no other options are specified. * (am.c) implements the -p (print process id) option. * (afs_ops.c) a mount attempt now has a time-to-live of twenty seconds. if only deferred attempts are waiting after that interval the kernel gets sent ETIMEDOUT. * (afs_ops.c) the name by which the kernel knows the filesystem has changed from pid%d@host to /mountpoint@host. That looks better to users who get hit by it.Fri Jul 14 18:46:16 1989 Jan-Simon Pendry (jsp at achilles) * (afs_ops.c) now knows about defered mounts - mounts which are not in progress, not completed, and not failed. * (sched.c) added new entry point sched_ast(). This simulates a completed job. The basic idea is to let something else return to the main scheduling loop with a guarentee that it will be called back when some other action has taken place. * (nfs_ops.c) implemented a file handle cache. The nfs_init routine starts up a request for the filehandle and the mount routine uses it when it arrives.Thu Jul 13 18:07:58 1989 Jan-Simon Pendry (jsp at achilles) * (afs_ops.c) found a race condition between an error occuring and the am_node being timed out. Fixed by updating the time-to-live and keepalive counters in the node whenever AMF_MOUNTING is cleared. Also changed afs_lookuppn() so that it doesn't destroy the node when it returns the error code. This stops thrashing and the node is eventually timed out. Now the only way a node gets deleted is by the timeout code which seems more elegant.Tue Jul 11 15:36:44 1989 Jan-Simon Pendry (jsp at achilles) * Created "beta15". * Fixed *all* references to "u2.2". Some where missed in the original change. They are now u2_2. * (mk-amd-map.c) new command. Converts plain files into ndbm databases for use by the info_ndbm module. Hooks included for future support for gdbm just as soon as I can get a copy.Sun Jul 9 19:00:22 1989 Jan-Simon Pendry (jsp at achilles) * Created "beta14". * (get_info.c) code to handle yp and files now split into new files info_yp.c and info_file.c New support for ndbm databases is in info_ndbm.c. A table in get_info.c controls what and in which order things are searched. * (map.c, nfs_stubs.c) better handling for hung mount points. if a filehandle is passed in by the kernel which references a hung node, then try to find a replacement, possibly by calling lookup explicitly. * (*.c) use new xlog(level)(message) interfaceThu Jun 8 20:28:55 1989 Jan-Simon Pendry (jsp at achilles) * (nfs_ops.c, ufs_ops.c) when compiled with DEBUG, display the fs options being used. * (am.c) make test for root a little more polite. * (get_args.c) update Usage message to include -r option.Wed Jun 7 16:28:51 1989 Jan-Simon Pendry (jsp at achilles) * (rpc_fwd.c) fwd_reply: if the recvfrom call fails because it is interrupted then try again.Tue Jun 6 16:39:15 1989 Jan-Simon Pendry (jsp at achilles) * Created "beta12". * (afs_ops.c) inheriting mount option list from command line is now cumulative. A -foo on the command line is prepended to the default option list taken from the map. This can be used to override the ``default default'' options in opts.c. * (get_args.c, am.c) added new -r (restart) option. Restart of mounted filesystems is only done if this option is specified. [Should *not* be specified in /etc/rc.local of course. - wrong] * (yp_master.c) make the enumeration error message more verbose when debugging is enabled. * (rpc_fwd.c) rearranged some declarations at the top. Removed a spurious call to free which was causing grief on some systems, but not on Sun's. [This problem was the reason for implementing the -D mem option.] * (opts.c) make sure opt_key and opt_path are set to a zero length string unless otherwise specified. Previously they were a source of dangling pointers. * (nfs_ops.c) make sure that the allocated nfs_private identifiers are unique even when some filesystem are being restarted. This mean starting the basic allocation from 1, not zero. * (am.h, get_args.c, util.c) added definition and implmentation of a simple memory allocation trace (D_MEM). * (afs_ops.c) afs_lookuppn: tightened up memory allocation and delay string copying until last possible moment.Mon Jun 5 18:01:18 1989 Jan-Simon Pendry (jsp at achilles) * (Makefile.com) diffs: added new rule to generate diffs between versions. * (get_info.c) search_file: added a new dlog() to note when wildcards are returned. * (afs_ops.c) afs_lookuppn: call to init_map specifies efs as the default ops structure. If the location list only contained defaults and no real mounts then this previously caused a null pointer dereference. * (map.c) last_used_map: Added new variable. Keeps track of the last used map, which may be wildly different from first_free_map. This fixes bugs in several routines in this file. * (util.c) mkdirs, rmdirs: Changed directory make/unmake. It is not possible to quickly determine how many directories need to be created or deleted, so we try to make as many as possible. * (opts.c) Added default values for rfs, rhost and fs. The new defaults guarentee unique names to allow the NFS keepalive stuff to work.Sun Jun 4 16:12:15 1989 Jan-Simon Pendry (jsp at achilles) * First draft of documentation included in the next release. * Hooks for TFS added, though this still requires a lot of work. * Re-implemented option handling. Options are now allocated dynamically on a per-mount basis in the continuation structure. * Changed os type u2.2 to u2_2 to allow for regular expression matching in selectors. * Format of mount maps is now entirely different. Instead of guessing which filesystem type is being used, it is now explicitly stated along with the required options. Variable expansion is done on the options and selectors are also implemented. The requested name can also contain any of the selectors.Wed May 24 15:21:39 1989 Jan-Simon Pendry (jsp at achilles) * Re-implemented NFS ping algorithm to use the new RPC forwarding system. This allowed a large amount of nfs_ops specific code to be removed from nfs_start.c and moved to nfs_ops.c. There is still no strategy for hung file systems. At the moment it will merely try to mount an alternative (or the same again) to the same place in the file system. * Added RPC forwarding package. This supports general RPC gatewaying over a UDP transport. The idea is to put a packet identifier into each outgoing RPC packet and then match that up in a database when a reply comes in. The database records the original packet identifier (so that it can be replaced), the source address for the packet and a function to call to do the forwarding. * ChangeLog added between beta8 and beta9. Should have done this sooner.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -