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