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