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