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