xref: /original-bsd/usr.sbin/amd/amd/ChangeLog (revision e59fb703)
1Tue May  7 22:30:00 1991  Jan-Simon Pendry  (jsp at achilles)
2
3	* Checkpoint for Berkeley network tape II.
4
5Sat May  4 22:06:24 1991  Jan-Simon Pendry  (jsp at achilles)
6
7	* New Berkeley Copyright.
8
9	* (mntfs.c) more short-circuiting in realloc_mntfs().
10
11	* (host_ops.c) increase RPC timeout to 20 seconds.
12
13	* (info_hes.c) now supports lookup in other domains.
14
15	* (srvr_nfs.c) call map_flush_srvr whenever a server comes up.
16
17	* (map.c) added hook to flush hung file servers.
18
19	* (wire.c) make loop step more portable.
20
21	* (util.c) fix for compiling on rios.
22
23Sun Apr 21 21:54:52 1991  Jan-Simon Pendry  (jsp at forest)
24
25	* (util.c) ignore EINVAL returned by rmdir().
26
27	* (am_ops.c, afs_ops.c) remove SunOS4 map compat code.
28
29	* (nfsx_ops.c) don't clear MFF_MOUNTING until finished mount attempts.
30
31	* (nfsx_ops.c) don't call sched_task more than once.
32
33	* (afs_ops.c) don't call afs_bgmount if a mount is in progress.
34
35	* (info_file.c) handle case where map ends with \
36
37Fri Apr  5 19:23:50 1991  Jan-Simon Pendry  (jsp at forest)
38
39	* Release 5.3 Alpha 12.
40
41	* (util.c) don't clear MFF_MOUNTING flag if mount is still in progress.
42
43	* (srvr_nfs.c) calls make_nfs_auth() as required.
44
45	* (host_ops.c) calls make_nfs_auth() as required.
46
47	* (afs_ops.c) allow foreground mounts to return pending.  This is
48	used by nfsx_ops.c.
49
50	* (mapc.c) uses new RE_HDR abstraction coping with systems which
51	already have the re package installed.
52
53	* (nfsx_ops.c) automatically generates a suitable sublink to make
54	things work.  Remounts now work correctly, but are done in the
55	foreground so there is a possibility that things may hang.  This is
56	too hard to do differently.
57
58Wed Apr  3 17:49:05 1991  Jan-Simon Pendry  (jsp at achilles)
59
60	* (nfs_ops.c) HAS_NFS_QUALIFIED_NAME is a new compile time switch
61	which puts a qualified domain name into the RPC authentication
62	instead of using the default value.  Abstracted this out into new
63	routine called make_nfs_auth().
64
65	* (afs_ops.c) fixed bug which caused spurious ENOENTs to appear.
66	this was caused by some code motion which also got slightly
67	altered int the process.  moral: don't make two changes at once.
68
69Sun Mar 17 12:05:27 1991  Jan-Simon Pendry  (jsp at forest)
70
71	* Release 5.3 Alpha 11.
72
73	* (amq.8) Updated.
74
75	* (amq.c) Added new -v option which displays the version number of
76	the target Amd.  Also added support to Amd and reworked newvers
77	script.  Got rid of rcs_info.c.
78
79	* (mk-amd-map.c) Changed name of remove function to avoid clash
80	with ANSI C.
81
82	* (wire.c) Fixed to work with new 4.4BSD sockaddr's.
83
84	* Changed const to Const everywhere and added new define in config.h.
85
86	* (mk-amd-map.c) New -p option which just writes the output to
87	stdout.  Useful for making NIS or Hesiod maps.
88
89	* (amdref) Small updates and clarifications.
90
91Sat Mar 16 20:35:17 1991  Jan-Simon Pendry  (jsp at forest)
92
93	* (amq_subr.c) Flush request now flushes all internal caches.
94
95	* (amq_subr.c) Changed xdr_amq_mount_tree to return only the
96	required sub-tree.
97
98	* (ifs_ops.c) Added missing return 0; to ifs_mount.
99
100Sat Mar  9 19:31:25 1991  Jan-Simon Pendry  (jsp at forest)
101
102	* (get_args.c) Output the primary network interface information
103	with the -v option.
104
105	* (mapc.c) Fixed spurious warning about "root" map not supporting
106	cache mode "all".  Added new (unnamed) cache mode MAPC_ROOT.
107
108	* (info_nis.c) Fixed order number testing which was the cause of a
109	loop.
110
111Sun Mar  3 17:57:03 1991  Jan-Simon Pendry  (jsp at forest)
112
113	* Release 5.3 Alpha 10.
114
115	* Introduced new inet_dquad routine which prints IP addresses in
116	dotted quad format.  The C library routine is not used because it
117	uses a static buffer and it takes a structure argument on some
118	machines and unsigned longs on others.  This confuses the hell out
119	of some compilers and causes SEGVs.
120
121	* task_notify becomes do_task_notify to avoid clash with Mach.
122
123	* (mntfs.c) In realloc_mntfs, the private data field wasn't being
124	cleared out when the mntfs object was being re-used.  This meant
125	that the data might be used for the wrong mount, so causing
126	various obscure errors.
127
128	* (info_file.c) Reworked to provide support for map cache "sync"
129	option.
130
131	* (mapc.c) Added new "sync" option to map cache.  This ensures
132	that the cached data doesn't become stale wrt the source.
133	Currently this isn't implemented for passwd and hesiod maps.
134
135Wed Feb 27 11:38:07 1991  Jan-Simon Pendry  (jsp at forest)
136
137	* (afs_ops.c) Fixed pid put in fs_hostname for toplvl mount.
138
139Sun Feb 24 19:37:55 1991  Jan-Simon Pendry  (jsp at forest)
140
141	* (wire.c) New module which determines the name of the primary
142	attached network.  This could be used to determine which
143	server to use.
144
145	* (srvr_nfs.c) Changed mount daemon port mapping caching.  This is
146	now much more eager to recompute the mapping than before.  Will
147	also now work even if pinging is switched off (for example "tcp").
148
149	* (info_nis.c) Added back old NIS reload code to allow NIS maps to
150	support "regexp" caching.
151
152	* (mapc.c) Added support for "regexp" caching.  This is a type of
153	map cache where the entries are all REs to be matched against the
154	requested key.  This implies "all" since all the keys must be
155	loaded for the search to work.
156
157Sat Feb 23 15:32:43 1991  Jan-Simon Pendry  (jsp at forest)
158
159	* (afs_ops.c) Avoid spurious error messages about discarding a
160	retry mntfs.
161
162	* (amq_subr.c) Removed inet_ntoa call due to disagreement between
163	gcc and libc about 4 byte structure passing.
164
165	* (xutil.c) Changed way initial logging is done to make command
166	line more usable.  Default logging flags are set statically and
167	can then be modified by -x options.  At the end an additional call
168	to switch_option is made to initialise xlog_level_init.
169
170	* (umount_fs.c) ENOENT now treated the same as EINVAL.  If the
171	filesystem gets removed and the mountpoint deleted then just
172	assume the filesystem isn't there - which it isn't.
173
174	* (host_ops.c) Now copes with unmount failures by attempting to
175	remount the filesystems which had been unmounted.
176
177	* (host_ops.c) Added check during fhandle collection to detect
178	duplicate entries in the export list (from Stefan Petri).
179
180	* (nfsx_ops.c) Reworked to correctly keep track of what is and
181	isn't mounted.
182
183Sun Jan 27 16:58:02 1991  Jan-Simon Pendry  (jsp at achilles)
184
185	* (misc-next.h) Added missing NeXT config file.
186
187	* Merged Harris HCX/UX support from Chris Metcalf.
188
189	* (ifs_ops.c) added ifs_fmount entry point to keep nfsx_ops happy.
190
191Sun Jan 13 18:19:19 1991  Jan-Simon Pendry  (jsp at beauty)
192
193	* (nfsx_ops.c) play with opt_fs field to make sure it is unique.
194
195Fri Dec 21 15:35:45 1990  Jan-Simon Pendry  (jsp at forest)
196
197	* Release 5.3 Alpha 9.  This is still not Beta!
198
199	* (host_ops.c) use normalized hostname in mtab entries, from
200	Chris Metcalf.
201
202	* (map.c) enum ftype -> ftype, from Andrew Findlay.
203
204Mon Dec 17 01:11:25 1990  Jan-Simon Pendry  (jsp at beauty)
205
206	* (amdref.texinfo) merged in fsinfo documentation from Nick.
207
208Sat Dec 15 15:39:07 1990  Jan-Simon Pendry  (jsp at beauty)
209
210	* (clock.c) minor tweaks to messages.
211
212	* (sfs_ops.c) make the opt_fs field unique, rather than always
213	".", but make sure it still begins with a "." to avoid a clash
214	with any other existing mounts.
215
216	* (amd.c) changed way local IP address is obtained to avoid using
217	a call to the name server.  It was observed that if the power to
218	the building goes and everything reboots simultaneously then there
219	would be a good chance that the nameserver would not recover
220	before Amd on another machine required it.  This happened :-)  Now
221	use the RPC get_myaddress call.
222
223	* (info_hes.c) added hesiod_reload code from Bruce Cole.
224	Optionally compiled when HAS_HESIOD_RELOAD is defined.
225
226	* (amq_subr.c) fix "security" check.
227
228	* (amq.c) make sure a privileged port is allocated.  In fact
229	RPC3.9 and newer make this guarentee but older versions don't so
230	we do it here.
231
232Sun Dec  2 21:30:07 1990  Jan-Simon Pendry  (jsp at achilles)
233
234	* (afs_ops.c) fixed problem with pointer pre-increment.
235
236Mon Nov 19 00:31:28 1990  Jan-Simon Pendry  (jsp at achilles)
237
238	* (nfs_ops.c) saved filehandle with mntfs structure.  this allows
239	nfsx unmounts to be undone even if the filehandle cache has lost
240	the entry.  all of this is bogus and deserves a rewrite...
241
242Sun Nov 18 22:55:43 1990  Jan-Simon Pendry  (jsp at achilles)
243
244	* (nfsx_ops.c) now handles mounts of root filesystem correctly.
245
246	* (afs_ops.c) fixed dfs_ops definition to call toplvl_mounted when
247	done, so making sure that a map cache reference is set up.
248
249Sun Nov 11 21:09:34 1990  Jan-Simon Pendry  (jsp at achilles)
250
251	* (fsinfo/wr_fstab.c) has per-ostype fstab rules.
252
253	* (fsinfo/fsi_lex.l) now works correctly with flex.
254
255Mon Nov  5 00:08:30 1990  Jan-Simon Pendry  (jsp at achilles)
256
257	* Release 5.3 Alpha 8.  No more new features from now to 5.3Rel.
258	Call next one Beta.
259
260	* (amdref.texinfo) more updates.
261
262	* (info_union.c) reload routine now adds a wildcard pointing to
263	the last named directory so that new files get created correctly.
264
265Sun Nov  4 22:02:50 1990  Jan-Simon Pendry  (jsp at achilles)
266
267	* (os-u4_0.h) Ultrix 4.0 support merged.
268
269	* (os-utek.h) Utek 4.0 support merged.
270
271	* (amdref.texinfo) fixed & updated.
272
273	* (nfsx_ops.c) reworked string munging to prevent ..//.. strings
274	from occuring.
275
276	* (util.c) am_mounted now correctly updates the am_node for
277	duplicate mounts.
278
279	* (afs_ops.c) added union fstype.  derived from "toplvl" except it
280	causes all the filesystems to be mounted.  cannot be used for
281	filesystem types whose mounts may be defered (eg nfs) since it
282	doesn't retry the mounts.
283
284	* (info_union.c) map type for union fstype support.  currently
285	can't handle being given automounted filesystems - causes a
286	deadlock.
287
288Sun Oct 21 22:56:16 1990  Jan-Simon Pendry  (jsp at achilles)
289
290	* (fsinfo/*) finally integrated the fsinfo package.  currently no
291	documentation or man page.  this is a pre-req to getting mmd up.
292
293Sun Oct 14 20:02:11 1990  Jan-Simon Pendry  (jsp at achilles)
294
295	* (amdref.texinfo) reworking of documentation continues.
296
297	* (clock.c) reschedule_timeouts() now called in the event that the
298	system clock goes backwards.  this is possible during the average
299	bootstrap juggling act with timed/xntpd etc.  especially useful if
300	your machines TOY clock gets way ahead of time.
301
302Sat Oct  6 19:57:55 1990  Jan-Simon Pendry  (jsp at achilles)
303
304	* (map.c) when expanding the filehandle for a server which is
305	down, don't update the ttl on the original node unless a new node
306	gets allocated.  this should give the original mount a chance to
307	go away as soon as the server comes back.
308
309	* (arch, os-type) Updated.
310
311	* (nfs_ops.c) Added "noconn", "spongy" and "compress" mount
312	options for 4.4 BSD.
313
314Sun Sep 30 18:37:54 1990  Jan-Simon Pendry  (jsp at beauty)
315
316	* Release 5.3 Alpha 6.
317
318	* (util.c) domain_strip now doesn't leave partial domains behind.
319	if it can't strip the complete domain it leaves the string untouched.
320
321	* (restart.c) remember to initialise opt_opts field from mtab.
322
323	* (nfs_ops.c) supports "nocto" option for SunOS4.1.
324
325	* (os-irix.h) new SGI Iris port.
326
327	* (os-next.h) new NeXT port.
328
329	* (os-dgux.h) new DG/UX port.
330
331	* (many) fixed problem where mf_opts was being used for two
332	different purposes.  Now have two fields.
333
334	* (mapc.c) error map prints error message whenever used.
335
336	* (mapc.c) wildcard code rewritten.
337
338	* (util.c) slpit into two parts - some code now in xutil.c.  This
339	is used by mmd (not yet shipped).
340
341Sun Aug 19 19:58:16 1990  Jan-Simon Pendry  (jsp at achilles)
342
343	* (srvr_nfs.c) reduce verbosity of "nfs server yoyo is ok" messages.
344
345	* (opts.c) fix deslashification in expand.
346
347	* (nfs_start.c) amq registering done just before the server kicks
348	in.  running amd with nothing to do leaves the portmapper in peace.
349
350	* (mapc.c) bootstrap code abstracted to allow AMQ_MOUNT entry point.
351
352	* (nfsx_ops.c) new filesystem type, supporting groups of nfs
353	mounts.  needs abstracting to allow groups of (*) mounts.
354
355	* (am.h, *_ops.c) am_ops structure changed; corresponding changes
356	in the filesystem implemention source.  Change was to allow nfsx
357	filesystem implementation.
358
359	* (amd.c) hostname defaults to "localhost" startup code re-ordered
360	so that logging still works in case things go wrong early.
361
362	* (am_ops.c) new routine to print list of available fs types; used
363	by the -v option.
364
365	* (info_file.c) bug fix to make reloads work correctly.
366
367	* (mtab_file.c) does locking on single write, to avoid trashing
368	mount table when a mount and unmount are done at the same time.
369
370	* (mount_fs.c) automount hack removed since afs_ops no longer
371	needs it.
372
373	* (afs_ops.c) split "auto" into several other filesystem types.
374	Now much cleaner.
375
376	* (amq.c) new -M option.
377
378	* (amq_subr.c) support for AMQ_MOUNT added.
379
380	* (amq.x) new AMQ_MOUNT RPC call allows mount map entries to be
381	passed in at run-time.  Automount points can now be added
382	dynamically, but not yet deleted.
383
384Sat Jun 23 22:12:48 1990  Jan-Simon Pendry  (jsp at beauty)
385
386	* Release 5.2 for Berkeley.
387
388	* (*) Re-organised source code layout.  Now much more complicated.
389
390	* (map.c) code which flushed the kernel name cache is not really
391	needed now that the modify times on the automount directories are
392	correctly updated so ifdef the whole lot.  Remove later...
393
394	* (map.c) make sure that the automount directories modify times
395	are updated when a change occurs so that the nfs client code can
396	decide when to update its name cache.
397
398	* (srvr_nfs.c) fixed bug which caused mounted filesystems to
399	appear down when they were up.
400
401	* YP becomes NIS.
402
403Mon May 28 19:50:34 1990  Jan-Simon Pendry  (jsp at achilles)
404
405	* (amd.tex) substantially updated with more explanation of the
406	theory and more examples.
407
408	* (nfs_stubs.c) statfs now claims to have a single used block.
409	Avoids ambiguity between 100% and 0% full.
410
411	* (nfs_stubs.c) changed to allow the size of symlinks optionally
412	to be accurate wrt the length of the string returned.  Optional
413	because it is cheaper to ignore the length when doing a getattr
414	and just send any length for the readlink.  However, this breaks
415	on some systems (e.g. Ultrix).
416
417	* (mount_fs.c) automount points get marked type "nfs" instead of
418	"ignore".  This is to fix an interaction with getwd().  Can go
419	away when getwd() gets re-written.  Really only applies to SunOS4
420	but change applies to everything to keep consistent across platforms.
421
422	* (mount_fs.c) abstracted out mount options into a table and
423	corresponding loop.
424
425	* (srvr_nfs.c) make sure portmap information is available when
426	needed, not just after a ping has succeeded.  This needed changing
427	after the ping algorithm got changed.
428
429	* (mntfs.c) fixed incorrect reference to mf_error instead of mf_flags.
430
431	* (nfs_start.c) keep track of number of fds in use, so don't run
432	select on system maximum (which is bad news if you have a large
433	system maximum).
434
435	* (host_ops.c) new NFS tree mount filesystem type (ala Sun -hosts).
436
437	* (nfs_ops.c) abstracted out NFS mount code to support host_ops.
438
439	* (afs_ops.c) dfs_readlink now returns the am_node, instead of the
440	link.  This allows getattr to return the correct set of attributes
441	so keeping Ultrix happy.
442
443	* (afs_ops.c) Make certain the hostname field given to mount()
444	does not get too long - otherwise random EINVAL errors occur.
445
446	* Putting closing comments on all #endif's
447
448Sun May 13 16:07:21 1990  Jan-Simon Pendry  (jsp at achilles)
449
450	* (srvr_nfs.c) second rewrite of NFS ping algorithm.
451
452Sun Apr 29 21:12:33 1990  Jan-Simon Pendry  (jsp at achilles)
453
454	* (nfs_stubs.c) re-arranged readlink code to avoid need to
455	pre-mount a direct filesystem whenever possible.
456
457	* (host_ops.c) finally incorporated new module to support /net
458	mount point.
459
460Sat Mar 24 13:18:47 1990  Jan-Simon Pendry  (jsp at achilles)
461
462	* (nfs_stubs.c) workaround added to rename entry point to avoid
463	arguments with NFS client code.
464
465	* (srvr_nfs.c) changed the way NFS pings are done and cleaned up
466	the process for deciding when a server is up or down.  Now there
467	is just a simple time limit on a reply from the server.  The limit
468	is adjusted depending on whether the state of the server is known.
469
470	* (opts.c) fixed bug with ${var/} expansion et al.  Added ${varN}
471	N = 0..7 for use as scratch variables.
472
473	* (mntfs.c) fixed bug in dup_mntfs().
474
475Thu Jan 11 16:56:41 1990  Jan-Simon Pendry  (jsp at achilles)
476
477	* Release 5.1c.
478
479	* (amq*) has new options.  -f flushes the map cache and -m prints
480	information about mounted filesystem and fileservers.
481
482Tue Jan  2 14:44:21 1990  Jan-Simon Pendry  (jsp at achilles)
483
484	* (util.c) am_mounted() patches the path for "direct" mounted
485	filesystems - cosmetic.
486
487	* (afs_ops.c) when possible sets a small kernel attribute cache
488	timeout on the automount points.
489
490	* (nfs_stubs.c) delete() and rmdir() operations implemented.  Used
491	when a mount point is timed out so the kernel name cache gets to
492	know about the changes.  Fixes most ESTALE errors.
493
494	* (nfs_stubs.c) New do_readlink() function added.  This is used to
495	make sure that a filesystem is mounted at the time a link is read
496	in the case of "direct" mounts.  Done so that the length of the
497	link is available when the initial getattr is done on the mountpoint.
498
499	* (sfs_ops.c) Changed implementation to avoid race conditions.
500	The link target is re-arranged so that sublink points to the
501	target and fs always points at ".".
502
503	* Fixed mount flag bug on Ultrix.
504
505	* Added support from Sjoerd Mullender for Alliant FX/4 and Encore
506	Multimax.
507
508Thu Dec  7 17:55:29 1989  Jan-Simon Pendry  (jsp at achilles)
509
510	* (afs_ops.c) dfs_readlink now does a new_ttl on the node it
511	returns.
512
513	* (afs_ops.c) next_nonerror_node now implements the task after
514	which it is named.
515
516Tue Nov 28 17:20:52 1989  Jan-Simon Pendry  (jsp at achilles)
517
518	* Release 5.1b.
519
520	* (restart.c) Generates link nodes for any unrecognised filesystem
521	types and then marks them so that they are never deleted (since
522	they could never be automounted later).
523
524	* (os-*.h) Irrelevant #undef's deleted.
525
526	* (arch) Now knows about AIX on RTs.
527
528	* (amq.c) Rationalised the output.  Now only gives you what you
529	asked for.
530
531	* (am.h) New macro: FSRV_ISDOWN(fs), which checks whether a
532	fileserver is down.
533
534	* (afs_ops.c) When a mount fails due to a timeout the underlying
535	filesystem is ripped away and replaced with an error fs.  This
536	avoids the possibility of being left with a single error reference
537	to a valid mounted filesystem.
538
539Thu Nov 23 18:04:29 1989  Jan-Simon Pendry  (jsp at achilles)
540
541	* (nfs_start.c) Re-order bootstrap sequence to avoid potential
542	deadlock if restart() ends up accessing one of the automount points.
543
544	* (amq.c) Don't produce default mount output if one of the -l, -x
545	or -D options was used.
546
547	* (umount_fs.c) Add alternative unmount routine for 4.4 BSD.
548
549Mon Nov 20 16:22:50 1989  Jan-Simon Pendry  (jsp at achilles)
550
551	* (os-bsd44.h) Fixed redefinition of UMOUNT_FS.
552
553	* (info_ndbm.c) Added missing #include <sys/stat.h>.
554
555	* (mapc.c) Fixed typo in ifdef around gdbm config entry.
556
557Sat Nov 18 16:39:13 1989  Jan-Simon Pendry  (jsp at achilles)
558
559	* (util.c) If "/" is automounted, make sure it is never timed out.
560
561	* (mtab.c) Missing clock invalidation added in read_mtab (from a file).
562
563	* (mntfs.c) realloc_mntfs simplified.
564
565	* (map.c) Closed a race condition during shutdown when second and
566	subsequent duplicate mounts were deleted prematurely.
567
568	* (afs_ops.c) Duplicate mounts are now given the correct return
569	code.
570
571Fri Nov 17 18:58:18 1989  Jan-Simon Pendry  (jsp at achilles)
572
573	* 5.1 Release.
574
575Thu Nov 16 17:57:02 1989  Jan-Simon Pendry  (jsp at achilles)
576
577	* (mntfs.c) Make sure inherit mntfs structures are not cached
578	after last reference; otherwise a second reference to the
579	inherited filesystem will get stuck on the inherit rather than the
580	(now) fully mounted filesystem.
581
582	* (am.c, nfs_start.c) After forking the server, make sure the
583	parent does not exit until the automount points are mounted.  This
584	allows a clean sequence during system startup.
585
586	* Initial port to 4.4 BSD.  Several new configuration abstractions
587	were added to make this port possible.
588
589Thu Nov  9 21:42:14 1989  Jan-Simon Pendry  (jsp at achilles)
590
591	* (afs_ops.c, opts.c) Added map logging to facilitate mount map
592	debugging without needing a -DDEBUG version of Amd.
593
594	* (afs_ops.c) Make sure the length of the fs_hostname mount
595	parameter does not exceed MAXHOSTNAMESZ.
596
597Wed Nov  8 13:44:02 1989  Jan-Simon Pendry  (jsp at achilles)
598
599	* Change the message log format to indicate the severity of the
600	message to allow simpler analysis of the log file.
601
602Tue Nov  7 14:11:36 1989  Jan-Simon Pendry  (jsp at achilles)
603
604	* 5.0 Patchlevel 11.
605
606	* (os-bsd44.h) Initial guess at 4.4 BSD definitions.
607
608	* (os-aux.h) Port for Macintosh II from Julian Onions.
609
610	* (amq.c) Output formats cleaned up.  AMQ_MNTTREE is still broken
611	in amq_subr.c though.
612
613	* (afs_ops.c) If a mount timed out, for example an NFS server was
614	down at the time, it was possible for the error code to remain
615	unset thus jamming that mount node in a state from which it could
616	not recover.  Just make sure that the mf_error field gets filled
617	in when an error occurs.
618
619	* (afs_ops.c) strsplit is run over /defaults to avoid problems
620	with whitespace creeping in.
621
622Sun Nov  5 11:50:51 1989  Jan-Simon Pendry  (jsp at achilles)
623
624	* (util.c) am_mounted: Added missing initialisation of stats.s_mtime.
625
626Fri Nov  3 17:33:02 1989  Jan-Simon Pendry  (jsp at achilles)
627
628	* 5.0 Patchlevel 10.
629
630	* Changed the copyright.
631
632Thu Nov  2 17:07:53 1989  Jan-Simon Pendry  (jsp at achilles)
633
634	* 5.0 Patchlevel 9.
635
636	* (opts.c) new option syntax: == != :=
637
638	* (nfs_ops.c) Less caching of filehandles.  Now cached errors are
639	discarded after use.
640
641	* (mtab.c) now attempts to deal with a lack of open file slots (ENFILE).
642
643	* (mount_fs.c) automount entries in the mount table now have a
644	dev= entry in the same way as NFS and UFS.
645
646	* (mntfs.c) mntfs nodes are now cached after the last reference
647	and discarded <ALLOWED_MOUNT_TIME> seconds later.  This avoids
648	thrashing during a mount.
649
650	* (mapc.c) map default cache mode is now selected with
651	"mapdefault", not "default"
652
653	* (amd.tex) numerous clarifications.  Still more work required...
654
655	* (amq_subr.c) now allows the -x option of amq to operate.
656
657	* (afs_ops.c) afs_bgmount now keeps track of which filesystem
658	needed retrying and ensures that the mount node in the
659	continuation correctly points at an unmounted filesystem.  This
660	fixes a problem whereby a valid mounted filesystem could appear to
661	have failed to mount.
662
663	* Configure now gives more of a running commentary and checks
664	whether os-type and arch actually worked.
665
666	* Allow spurious ';'s in a mount location.
667
668Fri Oct 27 14:03:31 1989  Jan-Simon Pendry  (jsp at achilles)
669
670	* foo=blah changed to foo:=blah, foo==blah and foo!=blah.
671
672	* -l stderr changed to -l /dev/stderr.
673
674Thu Oct 19 15:34:28 1989  Jan-Simon Pendry  (jsp at achilles)
675
676	* 5.0 Patchlevel 6.
677
678	* LOG_INFO messages have been rationalised so that some
679	statistics, graphs and so on can be generated.
680
681	* Transaction ID's for RPC calls are now allocated by the
682	individual callers, rather than from a central pool.  This
683	decreases the load on mount daemons and NFS servers since the
684	same XID is used for retries when needed.
685
686	* Many fine details of the new data structures have been changed.
687	Some areas have been optimized.
688
689Fri Oct 13 12:31:26 1989  Jan-Simon Pendry  (jsp at achilles)
690
691	* Restart code re-implemented to work with the new data structures.
692
693	* Fine tuning applied to new NFS server modeling code.
694
695Thu Oct 12 15:57:24 1989  Jan-Simon Pendry  (jsp at achilles)
696
697	* Added ${/var} and ${var/} variable expansions.  The first gives
698	the "basename" component of the variable, the latter gives the
699	"dirname" component.  Additionally, spurious /'s are deleted after
700	the variable expansions is complete.
701
702	* Added new -C option to allow the machine's cluster name to be
703	given to amd.  ${cluster} fetches the value and can be used as
704	another selector.
705
706	* Broken the major data struct (am_node) into three layers:
707	am_node (one for each automount node), mntfs (one for each mounted
708	filesystem) and fserver (one for each file server).  Machine
709	up/down state is maintained in the fserver layer.  Filesystem
710	mount/unmount state is maintained in the mntfs layer.  This change
711	fixes the last known major problem caused by the lack of a central
712	focus for filesystem and fileserver status.  There is a dummy file
713	server layer for local filesystems (ufs, link, program, error).
714
715Tue Oct 10 11:15:42 1989  Jan-Simon Pendry  (jsp at achilles)
716
717	* 5.0 Patchlevel 5.
718
719	* (nfs_ops.c) the filehandle cache is now flushed when a
720	filesystem is unmounted.  This avoids ending up with stale
721	information if a server bounces.
722
723	* (clock.c) new module to implement callouts.  Many other
724	routines changed to use callouts instead of messing with ttl
725	fields.
726
727Sun Oct  1 17:08:20 1989  Jan-Simon Pendry  (jsp at achilles)
728
729	* 5.0 Patchlevel 3 & 4.
730
731	* Numerous cleanups.
732
733Wed Sep 13 14:30:05 1989  Jan-Simon Pendry  (jsp at achilles)
734
735	* 5.0 Patchlevel 2.
736
737	* (nfs_ops.c) portmap information is not remembered beyond the
738	basic filehandle cache interval.  That avoids problems when a new
739	portmap and/or rpc.mountd is started and the bound port changes.
740
741	* (mapc.c) cache reloads are automatically done every hour.
742
743	* Removed xlog macro in favour of plog() so that the log level
744	can be reflected through to syslog().  log() routine renamed to
745	plog() which takes an extra parameter indicating the log level.
746
747Tue Sep  5 20:00:19 1989  Jan-Simon Pendry  (jsp at achilles)
748
749	* (nfs_ops.c) when a server is known to be down, any cached file
750	handles and port mapping informaton is flushed since that may have
751	changed when it comes back up.
752
753	* (map.c) timeout no longer attempts to unmount a hung mount point.
754
755Mon Sep  4 14:49:18 1989  Jan-Simon Pendry  (jsp at achilles)
756
757	* (afs_ops.c) a mount node which timed out during mount is now
758	retained for the normal timeout interval rather than for a short
759	period.  This avoids wasting time retrying mounts from a server
760	which is down.
761
762	* (afs_ops.c) hung mounts are now detected and not used as a
763	duplicate mount - something which defeated the replacement fs
764	scheme.
765
766	* (nfs_ops.c) keepalive's now back-off when a server has gone
767	down.
768
769Thu Aug 31 21:18:35 1989  Jan-Simon Pendry  (jsp at achilles)
770
771	* 5.0 Patchlevel 1.
772
773	* Fixed several bugs which showed up in the keepalive
774	implementation when a gateway went down causing
775	a different sequence of errors than usual.
776
777Wed Aug 30 11:29:21 1989  Jan-Simon Pendry  (jsp at achilles)
778
779	* (amq.x) now uses a Sun assigned program number.
780
781	* Revision 5.0 - can now start using metaconfig.
782
783Tue Aug 29 14:36:48 1989  Jan-Simon Pendry  (jsp at achilles)
784
785	* (os-u3_0.h, os-type) now knows about DECstations (mips).
786
787	* (nfs_stubs.c) Added hooks to readlink entry point to call
788	per-fs readlink routine if it exists, otherwise old behaviour.
789
790	* (afs_ops.c) Added implementation of "type=direct".  This is
791	the same as "type=auto" but is itself the link to the
792	mount point, rather than being a directory containing a list
793	of links to mount points.
794
795Mon Aug 28 17:48:15 1989  Jan-Simon Pendry  (jsp at achilles)
796
797	* (afs_ops.c) Changed readdir to workaround a problem on
798	ultrix 3 where it seems to forget that eof has been reached.
799
800Thu Aug 24 15:17:55 1989  Jan-Simon Pendry  (jsp at achilles)
801
802	* Created "beta16".
803
804	* (afs_ops.c) /defaults is located along with every key.
805	this makes it possible to update the /defaults in
806	a map and get to use it.
807
808	* (mapc.c) added map cache synchronization support.  if
809	a file or ndbm map is updated the cache is junked so avoiding
810	things getting out of sync.
811
812Wed Aug 23 19:17:52 1989  Jan-Simon Pendry  (jsp at achilles)
813
814	* (os-u3_0.h) new file to support Ultrix 3.0
815
816	* (opts.c) allow environment variables to be accessed via
817	the same ${env} syntax used for options & selectors.
818
819Tue Aug 22 13:19:49 1989  Jan-Simon Pendry  (jsp at achilles)
820
821	* (opts.c, get_args.c) added support for kernel architecture
822	type to allow /usr/kvm to be automounted under SunOS 4.x.
823
824	* (os-xinu43.h) updated for june '89 release of MORE/bsd.
825
826	* (opts.c) fixed memory allocation problems where some strings
827	may not have been strdup'ed before they were free'ed so causing
828	the malloc arena to get into a twist.  This caused core dumps on
829	some machines and infinite loops on others.
830
831	* (*.c) clock handling is now done by a macro.  Global variable
832	clock_valid is > 0 (ie the time) when valid, 0 if invalid.
833
834	* (map.c) timeout code survived a complete rewrite and is now
835	O(n) rather than O(n^2).
836
837	* (info_hes.c) new database hooks for Hesiod nameserver.
838
839	* (get_args.c) the local sub-domain is picked up from the
840	hostname if it is not specifed with -d.  The subdomain is
841	then stripped from the hostname.
842
843	* (am.c) when a SIGTERM is received, an immediate abort
844	occurs - only the top-level automounts are unmounted; all
845	other mounts stay -- use amd -r to restart.
846
847	* (afs_ops.c) cleaned up key prefix handling.  Again updated
848	the "hostname" string passed to the kernel so that includes
849	the hostname, pid and mount point.
850
851Tue Aug  8 16:05:23 1989  Jan-Simon Pendry  (jsp at achilles)
852
853	* (nfs_ops.c) changed the way the file handle cache is managed.
854	No longer gets a race condition between something entering the
855	cache and being used and discard.
856
857Tue Jul 25 20:40:51 1989  Jan-Simon Pendry  (jsp at achilles)
858
859	* (map.c) changed fh_to_mp2 so that it does not return
860	ESTALE during shutdown.  it returns ENOENT instead which
861	avoids thrashing with the kernel.
862
863Sun Jul 23 15:06:10 1989  Jan-Simon Pendry  (jsp at achilles)
864
865	* (afs_ops.c) make sure the incoming key from the kernel
866	does not contain any characters which could cause trouble
867	during macro expansion (such as `"! etc).
868
869	* (afs_ops.c) fixed contruction of "mtab" entry.
870
871Fri Jul 21 11:01:05 1989  Jan-Simon Pendry  (jsp at achilles)
872
873	* (afs_ops.c) some changes to support the new startup
874	shutdown scheme.
875
876	* (map.c) startup and shutdown are now done using the
877	standard interfaces.  Startup is done by creating a
878	private cache map  ";root;" and then doing lookups
879	on all the names in it.  Shutdown is done by forcibly
880	timing out all the mount points including the automount
881	points.
882
883	* (info_*.c) modified to provide interface required by
884	mapc.c module.
885
886	* (mapc.c) new module to implement map caching.  Caching
887	can be controlled by an fs option.  "all" means cache
888	the entire map (if possible).  "inc" means cache things
889	incrementally.  "none" means never cache things.  Each
890	map type has a default caching mode which is used if
891	cache option "default" is used.
892
893Wed Jul 19 16:14:52 1989  Jan-Simon Pendry  (jsp at achilles)
894
895	* (sched.c) implements a general sleep/wakeup scheme and uses
896	it for sub-process handling.
897
898	* (nfs_start.c) task_notify() called from where it used to
899	be called.
900
901	* (nfs_ops.c) now implements a non-blocking rpc library.
902	Everything in nfs_ops was changed to use it.  This should
903	not be in this file and will be moved later.
904
905	* (map.c) if a mount point times out and it is deferred then
906	issue a wakeup so that it can be retried.
907
908	* (map.c) when creating a new mount point fetches the entry
909	"/defaults" from the associated map if no other options are
910	specified.
911
912	* (am.c) implements the -p (print process id) option.
913
914	* (afs_ops.c) a mount attempt now has a time-to-live of twenty
915	seconds.  if only deferred attempts are waiting after that
916	interval the kernel gets sent ETIMEDOUT.
917
918	* (afs_ops.c) the name by which the kernel knows the filesystem
919	has changed from pid%d@host to /mountpoint@host.  That looks
920	better to users who get hit by it.
921
922Fri Jul 14 18:46:16 1989  Jan-Simon Pendry  (jsp at achilles)
923
924	* (afs_ops.c) now knows about defered mounts - mounts which
925	are not in progress, not completed, and not failed.
926
927	* (sched.c) added new entry point sched_ast().  This simulates
928	a completed job.  The basic idea is to let something else return
929	to the main scheduling loop with a guarentee that it will be
930	called back when some other action has taken place.
931
932	* (nfs_ops.c) implemented a file handle cache.  The nfs_init
933	routine starts up a request for the filehandle and the mount
934	routine uses it when it arrives.
935
936Thu Jul 13 18:07:58 1989  Jan-Simon Pendry  (jsp at achilles)
937
938	* (afs_ops.c) found a race condition between an error occuring
939	and the am_node being timed out.  Fixed by updating the
940	time-to-live and keepalive counters in the node whenever
941	AMF_MOUNTING is cleared.  Also changed afs_lookuppn() so that
942	it doesn't destroy the node when it returns the error code.
943	This stops thrashing and the node is eventually timed out.
944	Now the only way a node gets deleted is by the timeout code
945	which seems more elegant.
946
947Tue Jul 11 15:36:44 1989  Jan-Simon Pendry  (jsp at achilles)
948
949	* Created "beta15".
950
951	* Fixed *all* references to "u2.2".  Some where missed in
952	the original change.  They are now u2_2.
953
954	* (mk-amd-map.c) new command.  Converts plain files into
955	ndbm databases for use by the info_ndbm module.  Hooks
956	included for future support for gdbm just as soon as I
957	can get a copy.
958
959Sun Jul  9 19:00:22 1989  Jan-Simon Pendry  (jsp at achilles)
960
961	* Created "beta14".
962
963	* (get_info.c) code to handle yp and files now split into
964	new files info_yp.c and info_file.c  New support for ndbm
965	databases is in info_ndbm.c.  A table in get_info.c controls
966	what and in which order things are searched.
967
968	* (map.c, nfs_stubs.c) better handling for hung mount points.
969	if a filehandle is passed in by the kernel which references
970	a hung node, then try to find a replacement, possibly by calling
971	lookup explicitly.
972
973	* (*.c) use new xlog(level)(message) interface
974
975Thu Jun  8 20:28:55 1989  Jan-Simon Pendry  (jsp at achilles)
976
977	* (nfs_ops.c, ufs_ops.c) when compiled with DEBUG, display
978	the fs options being used.
979
980	* (am.c) make test for root a little more polite.
981
982	* (get_args.c) update Usage message to include -r option.
983
984Wed Jun  7 16:28:51 1989  Jan-Simon Pendry  (jsp at achilles)
985
986	* (rpc_fwd.c) fwd_reply: if the recvfrom call fails because it
987	is interrupted then try again.
988
989Tue Jun  6 16:39:15 1989  Jan-Simon Pendry  (jsp at achilles)
990
991	* Created "beta12".
992
993	* (afs_ops.c) inheriting mount option list from command line
994	is now cumulative.  A -foo on the command line is prepended
995	to the default option list taken from the map.  This can be
996	used to override the ``default default'' options in opts.c.
997
998	* (get_args.c, am.c) added new -r (restart) option.  Restart of
999	mounted filesystems is only done if this option is specified.
1000	[Should *not* be specified in /etc/rc.local of course. - wrong]
1001
1002	* (yp_master.c) make the enumeration error message more verbose
1003	when debugging is enabled.
1004
1005	* (rpc_fwd.c) rearranged some declarations at the top.  Removed
1006	a spurious call to free which was causing grief on some systems,
1007	but not on Sun's.  [This problem was the reason for implementing
1008	the -D mem option.]
1009
1010	* (opts.c) make sure opt_key and opt_path are set to a zero
1011	length string unless otherwise specified.  Previously they
1012	were a source of dangling pointers.
1013
1014	* (nfs_ops.c) make sure that the allocated nfs_private identifiers
1015	are unique even when some filesystem are being restarted.  This mean
1016	starting the basic allocation from 1, not zero.
1017
1018	* (am.h, get_args.c, util.c) added definition and implmentation of
1019	a simple memory allocation trace (D_MEM).
1020
1021	* (afs_ops.c) afs_lookuppn: tightened up memory allocation and
1022	delay string copying until last possible moment.
1023
1024Mon Jun  5 18:01:18 1989  Jan-Simon Pendry  (jsp at achilles)
1025
1026	* (Makefile.com) diffs: added new rule to generate diffs
1027	between versions.
1028
1029	* (get_info.c) search_file: added a new dlog() to note when
1030	wildcards are returned.
1031
1032	* (afs_ops.c) afs_lookuppn: call to init_map specifies efs as
1033	the default ops structure.  If the location list only contained
1034	defaults and no real mounts then this previously caused a null
1035	pointer dereference.
1036
1037	* (map.c) last_used_map: Added new variable.  Keeps track of the
1038	last used map, which may be wildly different from first_free_map.
1039	This fixes bugs in several routines in this file.
1040
1041	* (util.c) mkdirs, rmdirs: Changed directory make/unmake.  It is
1042	not possible to quickly determine how many directories need to
1043	be created or deleted, so we try to make as many as possible.
1044
1045	* (opts.c) Added default values for rfs, rhost and fs.
1046	The new defaults guarentee unique names to allow the NFS
1047	keepalive stuff to work.
1048
1049Sun Jun  4 16:12:15 1989  Jan-Simon Pendry  (jsp at achilles)
1050
1051	* First draft of documentation included in the next release.
1052
1053	* Hooks for TFS added, though this still requires a lot of work.
1054
1055	* Re-implemented option handling.  Options are now allocated
1056	dynamically on a per-mount basis in the continuation structure.
1057
1058	* Changed os type u2.2 to u2_2 to allow for regular expression
1059	matching in selectors.
1060
1061	* Format of mount maps is now entirely different.  Instead of
1062	guessing which filesystem type is being used, it is now explicitly
1063	stated along with the required options.  Variable expansion is
1064	done on the options and selectors are also implemented.  The
1065	requested name can also contain any of the selectors.
1066
1067Wed May 24 15:21:39 1989  Jan-Simon Pendry  (jsp at achilles)
1068
1069	* Re-implemented NFS ping algorithm to use the new RPC forwarding
1070	system.  This allowed a large amount of nfs_ops specific code
1071	to be removed from nfs_start.c and moved to nfs_ops.c.
1072	There is still no strategy for hung file systems.  At the moment
1073	it will merely try to mount an alternative (or the same again)
1074	to the same place in the file system.
1075
1076	* Added RPC forwarding package.  This supports general RPC gatewaying
1077	over a UDP transport.  The idea is to put a packet identifier into
1078	each outgoing RPC packet and then match that up in a database when
1079	a reply comes in.  The database records the original packet identifier
1080	(so that it can be replaced), the source address for the packet and
1081	a function to call to do the forwarding.
1082
1083	* ChangeLog added between beta8 and beta9.  Should have done this sooner.
1084