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