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