* NEWS: updated
authorIon Badulescu <ib42@cs.columbia.edu>
Thu, 9 Oct 2003 05:13:56 +0000 (05:13 +0000)
committerIon Badulescu <ib42@cs.columbia.edu>
Thu, 9 Oct 2003 05:13:56 +0000 (05:13 +0000)
* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
we've done all the tests and we know we have a valid and mountable
mntfs. Otherwise we could end up dereferencing null pointers.

* amd/amd.h: fixed a copy&paste comment bug

* amd/am_ops.c (ops_match): minor code cleanup

* doc/am-utils.texi: fixed various typos; added warning about the
racy nature of nfsx; removed duplicated listing of debug options;
added paragraph about signals supported by hlfsd; removed the long
list of (maybe) supported platforms since it duplicates the list
in INSTALL.

ChangeLog
NEWS
amd/am_ops.c
amd/amd.h
amd/amfs_generic.c
amd/amfs_nfsx.c
amd/autil.c
doc/am-utils.texi

index 73c4316ceead70711ce699713c4cad9cfacbfb83..a540bad53cb68567ebd52993b65ea519827799e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
+
+       * NEWS: updated
+
+       * amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
+       we've done all the tests and we know we have a valid and mountable
+       mntfs. Otherwise we could end up dereferencing null pointers.
+
+       * amd/amd.h: fixed a copy&paste comment bug
+
+       * amd/am_ops.c (ops_match): minor code cleanup
+
+       * doc/am-utils.texi: fixed various typos; added warning about the
+       racy nature of nfsx; removed duplicated listing of debug options;
+       added paragraph about signals supported by hlfsd; removed the long
+       list of (maybe) supported platforms since it duplicates the list
+       in INSTALL.
+
 2003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        Simplify FD_SET etc. use.
diff --git a/NEWS b/NEWS
index 0f5fb9a9318447b2324f736db2a996b1c45a7396..05637ea746d3dd788f5df9c231b15e057c10547a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@
 
 - bugs fixed:
        * fixed nfsx support
+       * fixed a race involving late replies to mountd, etc queries
 
 *** Notes specific to am-utils version 6.1b4
 
index 9094d05c8a6a2069907eb97e0795033c0890150e..604ca9cfc39410680c76d754c4f90c388ba4f44c 100644 (file)
@@ -37,7 +37,7 @@
  * SUCH DAMAGE.
  *
  *
- * $Id: am_ops.c,v 1.18 2003/09/20 03:19:48 ib42 Exp $
+ * $Id: am_ops.c,v 1.19 2003/10/09 05:13:58 ib42 Exp $
  *
  */
 
@@ -467,12 +467,13 @@ ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map
   if (fo->fs_mtab)
     XFREE(fo->fs_mtab);
 
-  if ((fo->fs_mtab = (*rop->fs_match) (fo)))
+  fo->fs_mtab = rop->fs_match(fo);
+  if (fo->fs_mtab)
     return rop;
 
   /*
    * Return error file system
    */
-  fo->fs_mtab = (*amfs_error_ops.fs_match) (fo);
+  fo->fs_mtab = amfs_error_ops.fs_match(fo);
   return &amfs_error_ops;
 }
index 250af98215b129e8c68155aaab317b738b3d1cfc..498b86bee4eae5b96808f53f53dee91ef8cb0bd8 100644 (file)
--- a/amd/amd.h
+++ b/amd/amd.h
@@ -37,7 +37,7 @@
  * SUCH DAMAGE.
  *
  *
- * $Id: amd.h,v 1.46 2003/09/16 04:14:37 ib42 Exp $
+ * $Id: amd.h,v 1.47 2003/10/09 05:13:58 ib42 Exp $
  *
  */
 
@@ -399,7 +399,7 @@ struct mntfs {
  */
 struct fserver {
   qelem fs_q;                  /* List of fileservers */
-  int fs_refc;                 /* Number of references to this node */
+  int fs_refc;                 /* Number of references to this server */
   char *fs_host;               /* Normalized hostname of server */
   struct sockaddr_in *fs_ip;   /* Network address of server */
   int fs_cid;                  /* Callout id */
index 38892b948a49895c60821e0d8a5cd06689b33dcd..344671e34da46d1f9633bb3ddf518e65f7b56cc9 100644 (file)
@@ -37,7 +37,7 @@
  * SUCH DAMAGE.
  *
  *
- * $Id: amfs_generic.c,v 1.19 2003/10/01 01:47:40 ib42 Exp $
+ * $Id: amfs_generic.c,v 1.20 2003/10/09 05:13:58 ib42 Exp $
  *
  */
 
@@ -696,19 +696,6 @@ amfs_bgmount(struct continuation *cp)
       hard_error = this_error;
     this_error = 0;
 
-    if (mf->mf_fo->fs_mtab) {
-      plog(XLOG_MAP, "Trying mount of %s on %s fstype %s mount_type %s",
-          mf->mf_fo->fs_mtab, mf->mf_mount, p->fs_type,
-          mp->am_flags & AMF_AUTOFS ? "autofs" : "non-autofs");
-    }
-
-    if (mp->am_link) {
-      XFREE(mp->am_link);
-      mp->am_link = 0;
-    }
-    if (mf->mf_fo->opt_sublink)
-      mp->am_link = strdup(mf->mf_fo->opt_sublink);
-
     if (mf->mf_error > 0) {
       this_error = mf->mf_error;
       goto failed;
@@ -741,6 +728,19 @@ amfs_bgmount(struct continuation *cp)
       goto already_mounted;
     }
 
+    if (mf->mf_fo->fs_mtab) {
+      plog(XLOG_MAP, "Trying mount of %s on %s fstype %s mount_type %s",
+          mf->mf_fo->fs_mtab, mf->mf_mount, p->fs_type,
+          mp->am_flags & AMF_AUTOFS ? "autofs" : "non-autofs");
+    }
+
+    if (mp->am_link) {
+      XFREE(mp->am_link);
+      mp->am_link = 0;
+    }
+    if (mf->mf_fo->opt_sublink)
+      mp->am_link = strdup(mf->mf_fo->opt_sublink);
+
     /*
      * Will usually need to play around with the mount nodes
      * file attribute structure.  This must be done here.
index 95277ab8d88c3838b09cd63c83fc7f5a29dd770e..713a98418c3346e97fae6699317624bf4f113222 100644 (file)
@@ -37,7 +37,7 @@
  * SUCH DAMAGE.
  *
  *
- * $Id: amfs_nfsx.c,v 1.18 2003/10/01 01:47:40 ib42 Exp $
+ * $Id: amfs_nfsx.c,v 1.19 2003/10/09 05:13:58 ib42 Exp $
  *
  */
 
@@ -248,9 +248,8 @@ amfs_nfsx_init(mntfs *mf)
        dlog("amfs_nfsx: init mount for %s on %s", xinfo, mp);
        nx->nx_v[i].n_error = -1;
        nx->nx_v[i].n_mnt = find_mntfs(&nfs_ops, mf->mf_fo, mp, xinfo, "", mf->mf_mopts, mf->mf_remopts);
-       if (i == 0)
-         /* propagate the on_autofs flag only to the f/s at the bottom */
-         nx->nx_v[i].n_mnt->mf_flags |= mf->mf_flags & MFF_ON_AUTOFS;
+       /* propagate the on_autofs flag */
+       nx->nx_v[i].n_mnt->mf_flags |= mf->mf_flags & MFF_ON_AUTOFS;
       }
       if (rfs)
        XFREE(rfs);
@@ -360,9 +359,7 @@ try_amfs_nfsx_mount(opaque_t mv)
   am_node *mp = nx->nx_mp;
   int error;
 
-  mf->mf_flags |= MFF_MOUNTING;
   error = mf->mf_ops->mount_fs(mp, mf);
-  mf->mf_flags &= ~MFF_MOUNTING;
 
   return error;
 }
@@ -375,12 +372,19 @@ amfs_nfsx_remount(am_node *am, mntfs *mf, int fg)
   amfs_nfsx_mnt *n;
   int glob_error = -1;
 
+  /* Save the am_node pointer for later use */
+  nx->nx_mp = am;
+
   /*
    * Iterate through the mntfs's and mount each filesystem
    * which is not yet mounted.
    */
   for (n = nx->nx_v; n < nx->nx_v + nx->nx_c; n++) {
     mntfs *m = n->n_mnt;
+
+    if (m->mf_flags & MFF_MOUNTING)
+      break;
+
     if (n->n_error < 0) {
       /* Create the mountpoint, if and as required */
       if (!(m->mf_flags & MFF_MKMNT) && m->mf_fsflags & FS_MKMNT) {
@@ -390,7 +394,7 @@ amfs_nfsx_remount(am_node *am, mntfs *mf, int fg)
 
       dlog("calling underlying mount on %s", m->mf_mount);
       if (!fg && foreground && (m->mf_fsflags & FS_MBACKGROUND)) {
-       m->mf_flags |= MFF_MOUNTING;    /* XXX */
+       m->mf_flags |= MFF_MOUNTING;
        dlog("backgrounding mount of \"%s\"", m->mf_info);
        nx->nx_try = n;
        run_task(try_amfs_nfsx_mount, (opaque_t) m, amfs_nfsx_cont, (opaque_t) mf);
index 61f5eb2a773f157cb7168d488bcd6569bbcfa425..d9e673e4e61eea47075bd952675581bac76f8845 100644 (file)
@@ -37,7 +37,7 @@
  * SUCH DAMAGE.
  *
  *
- * $Id: autil.c,v 1.41 2003/10/02 16:29:28 ro Exp $
+ * $Id: autil.c,v 1.42 2003/10/09 05:13:58 ib42 Exp $
  *
  */
 
@@ -74,6 +74,9 @@ static int dofork(void);
  *** FUNCTIONS                                                             ***
  ****************************************************************************/
 
+/*
+ * Copy s into p, reallocating p if necessary
+ */
 char *
 strealloc(char *p, char *s)
 {
@@ -91,6 +94,9 @@ strealloc(char *p, char *s)
 }
 
 
+/*
+ * Split s using ch as delimiter and qc as quote character
+ */
 char **
 strsplit(char *s, int ch, int qc)
 {
index 77b18765bf3a9fdfd7e03fb03fce68f6c440b974..fda28cfe28814ca2f8d7d7795a4f03db448e0d12 100644 (file)
@@ -38,7 +38,7 @@
 @c
 @c      %W% (Berkeley) %G%
 @c
-@c $Id: am-utils.texi,v 1.71 2003/09/16 23:45:14 ib42 Exp $
+@c $Id: am-utils.texi,v 1.72 2003/10/09 05:13:59 ib42 Exp $
 @c
 @setfilename am-utils.info
 
@@ -422,12 +422,12 @@ is loaded with additional features which have little practical use.  At
 some point the infrequently used components may be removed to streamline
 the production system.
 
-@c @i{Amd} supports the notion of @dfn{replicated} filesystems by evaluating
-@c each member of a list of possible filesystem locations in parallel.
-@c @i{Amd} checks that each cached mapping remains valid.  Should a mapping be
-@c lost -- such as happens when a fileserver goes down -- @i{Amd} automatically
-@c selects a replacement should one be available.
-@c
+@i{Amd} supports the notion of @dfn{replicated} filesystems by evaluating
+each member of a list of possible filesystem locations one by one.
+@i{Amd} checks that each cached mapping remains valid.  Should a mapping be
+lost -- such as happens when a fileserver goes down -- @i{Amd} automatically
+selects a replacement should one be available.
+
 @menu
 * Fundamentals::
 * Filesystems and Volumes::
@@ -734,425 +734,6 @@ machines, as well as 32 bit and 64 bit architectures.  Furthermore, when
 readily portable to the same Operating System on all platforms on which
 it is available.
 
-The table below lists those platforms supported by the latest release.
-The listing is based on the standard output from GNU's
-@code{config.guess} script.  Since significant changes have been made to
-am-utils, not all systems listed here have been verified working for all
-features.
-
-@multitable {Auto-Configured System Name} {Config} {Compile} {Amd} {NFS3} {Shlib} {Hlfsd}
-@c @multitable @columnfractions .5 .1 .1 .1 .1 .1
-
-@item @b{Auto-Configured System Name}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab @b{Config} @tab @b{Compile} @tab @b{Amd} @tab @b{NFS3} @tab @b{Shlib} @tab @b{Hlfsd}
-
-@item @b{alpha-dec-osf2.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab ?     @tab no   @tab ?
-
-@item @b{alpha-dec-osf4.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{alpha-dec-osf4.0f}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{alpha-dec-osf5.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{alphaev5-unknown-linux-rh5.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{alphaev6-dec-osf5.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{hppa1.0-hp-hpux11.00}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab no    @tab yes  @tab yes
-
-@item @b{hppa1.1-hp-hpux10.10}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no   @tab ?
-
-@item @b{hppa1.1-hp-hpux10.20}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab no    @tab no   @tab ?
-
-@item @b{hppa1.1-hp-hpux11.00}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab UDP    @tab yes  @tab yes
-
-@item @b{hppa1.1-hp-hpux9.01}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{hppa1.1-hp-hpux9.05}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{hppa1.1-hp-hpux9.07}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{hppa2.0w-hp-hpux11.00}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-bsdi2.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no   @tab ?
-
-@item @b{i386-pc-bsdi3.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab no   @tab ?
-
-@item @b{i386-pc-bsdi3.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab no   @tab ?
-
-@item @b{i386-pc-bsdi4.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-pc-bsdi4.0.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-pc-bsdi4.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-rh7.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-pc-solaris2.5.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-pc-solaris2.6}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-pc-solaris2.7}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-unknown-freebsd2.1.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab ?    @tab ?
-
-@item @b{i386-unknown-freebsd2.2.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsd2.2.6}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsd2.2.7}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsd2.2.8}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsd3.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsd4.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsd5.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsdelf3.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsdelf3.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsdelf3.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsdelf3.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsdelf3.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-freebsdelf4.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.2.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.3.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.3.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.3.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-netbsd1.4.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-openbsd2.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-openbsd2.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-openbsd2.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-openbsd2.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i386-unknown-openbsd2.5}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{i486-ncr-sysv4.3.03}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab ?    @tab yes   @tab yes  @tab ?
-
-@item @b{i386-pc-linux}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-rh5.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-rh6.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-rh6.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-rh6.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-pc-linux-rh7.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-pc-linux-rh7.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{i386-pc-linux-gnulibc1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-gnulibc1-rh4.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{i386-pc-linux-gnuoldld}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{ia64-hp-hpux11.20}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{ia64-unknown-linux-rh2.1AS}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{ia64-unknown-linux-rh2.1AW}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{ia64-unknown-linux-rh7.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{ia64-unknown-linux-rh7.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{m68k-hp-hpux9.00}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab ?    @tab ?
-
-@item @b{m68k-sun-sunos4.1.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no   @tab ?
-
-@item @b{m68k-next-nextstep3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no   @tab ?
-
-@item @b{mips-dec-ultrix4.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab ?    @tab ?
-
-@item @b{mips-sgi-irix5.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab ?       @tab ?     @tab ?    @tab ?     @tab ?    @tab ?
-
-@item @b{mips-sgi-irix5.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{mips-sgi-irix6.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{mips-sgi-irix6.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{mips-sgi-irix6.5}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{powerpc-ibm-aix4.1.5.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no/broken @tab ?
-
-@item @b{powerpc-ibm-aix4.2.1.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab no/broken @tab ?
-
-@item @b{powerpc-ibm-aix4.3.1.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab ?    @tab yes   @tab ?    @tab ?
-
-@item @b{powerpc-unknown-linux}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{rs6000-ibm-aix3.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab ?    @tab ?
-
-@item @b{rs6000-ibm-aix3.2.5}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab ?    @tab ?
-
-@item @b{rs6000-ibm-aix4.1.4.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no/broken @tab ?
-
-@item @b{rs6000-ibm-aix4.1.5.0}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab no/broken @tab ?
-
-@item @b{sparc-sun-solaris2.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-sun-solaris2.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-sun-solaris2.5}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{sparc-sun-solaris2.5.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{sparc-sun-solaris2.6}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{sparc-sun-solaris2.7}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{sparc-sun-solaris2.8}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab yes
-
-@item @b{sparc-sun-sunos4.1.1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-sun-sunos4.1.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-sun-sunos4.1.3C}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-sun-sunos4.1.3_U1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-sun-sunos4.1.4}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc-unknown-linux-gnulibc1}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@item @b{sparc64-unknown-linux-rh6.2}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{sparc64-unknown-linux-suse7.3}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab yes   @tab yes  @tab ?
-
-@item @b{sparc-unknown-netbsd1.2E}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab ?     @tab ?    @tab ?
-
-@item @b{sparc-unknown-netbsd1.2G}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab ?     @tab ?    @tab ?
-
-@item @b{sparc64-unknown-linux-gnu}
-@c {Config}  {Compile}  {Amd}     {NFS V.3}  {Shlib}   {Hlfsd}
-@tab yes     @tab yes   @tab yes  @tab n/a   @tab yes  @tab ?
-
-@end multitable
-
 See the @file{INSTALL} in the distribution for more specific details on
 building and/or configuring for some systems.
 
@@ -2832,14 +2413,14 @@ exists.
 * -w Option::   Wait interval after failed unmount.
 * -x Option::   Log options.
 * -y Option::   NIS domain.
-* -A-Option::   Operating system Architecture.
-* -C-Option::   Cluster name.
-* -D-Option::   Debug flags.
+* -A Option::   Operating system Architecture.
+* -C Option::   Cluster name.
+* -D Option::   Debug flags.
 * -F Option::   Amd configuration file.
 * -H Option::   Show brief help.
-* -O-Option::   Operating system name.
+* -O Option::   Operating system name.
 * -S Option::   Lock executable pages in memory.
-* -T-Option::   Set tag for configuration file.
+* -T Option::   Set tag for configuration file.
 @end menu
 
 @c ----------------------------------------------------------------
@@ -3191,7 +2772,7 @@ If @i{Amd} was built with debugging enabled the @code{debug} option is
 automatically enabled regardless of the command line options.
 
 @c ----------------------------------------------------------------
-@node -y Option, -A-Option, -x Option, Amd Command Line Options
+@node -y Option, -A Option, -x Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-y} @var{NIS-domain}
 @cindex NIS (YP) domain name
@@ -3206,7 +2787,7 @@ immediately attempts to bind to a server for this domain.
 @c is specified, and whenever required in a mount map.
 
 @c ----------------------------------------------------------------
-@node -A-Option, -C-Option, -y Option, Amd Command Line Options
+@node -A Option, -C Option, -y Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-A} @var{architecture}
 @cindex Setting the operating system architecture
@@ -3221,7 +2802,7 @@ amd -A i386 ...
 @end example
 
 @c ----------------------------------------------------------------
-@node -C-Option, -D-Option, -A-Option, Amd Command Line Options
+@node -C Option, -D Option, -A Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-C} @var{cluster-name}
 @cindex Cluster names
@@ -3241,7 +2822,7 @@ amd -C `clustername` ...
 @end example
 
 @c ----------------------------------------------------------------
-@node -D-Option, -F Option, -C-Option, Amd Command Line Options
+@node -D Option, -F Option, -C Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-D} @var{opts}
 @cindex Debug options
@@ -3261,13 +2842,13 @@ can be prefixed with @samp{no} to turn it off.
 
 @table @code
 @item all
-all options
+all ``reasonable'' options (currently trace|str|full|mem|info|readdir)
 @item amq
 do not register for amq
 @item daemon
 do not enter daemon mode
 @item fork
-do not fork server
+do not fork child worker (hlfsd only)
 @item full
 program trace
 @item hrtime
@@ -3278,7 +2859,8 @@ print high resolution time stamps (only if @b{syslog}(3) is not used)
 info service specific debugging (hesiod, nis, etc.)  In the case of
 hesiod maps, turns on the hesiod RES_DEBUG internal debugging option.
 @item mem
-trace memory allocations
+trace memory allocations. Needs to be explicitly enabled at compile
+time with --enable-debug=mem.
 @item mtab
 use local @file{./mtab} file
 @item readdir
@@ -3297,7 +2879,7 @@ You may also refer to the program source for a more detailed explanation
 of the available options.
 
 @c ----------------------------------------------------------------
-@node -F Option, -H Option, -D-Option, Amd Command Line Options
+@node -F Option, -H Option, -D Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-F} @var{conf-file}
 @cindex Amd configuration file; specifying name
@@ -3315,7 +2897,7 @@ options had been processed, regardless of the actual location of this
 option on the command line.
 
 @c ----------------------------------------------------------------
-@node -H Option, -O-Option, -F Option, Amd Command Line Options
+@node -H Option, -O Option, -F Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-H}
 @cindex Displaying brief help
@@ -3324,7 +2906,7 @@ option on the command line.
 Print a brief help and usage string.
 
 @c ----------------------------------------------------------------
-@node -O-Option, -S Option, -H Option, Amd Command Line Options
+@node -O Option, -S Option, -H Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-O} @var{op-sys-name}
 @cindex Operating System name
@@ -3337,7 +2919,7 @@ backward compatibility reasons.  For example, if the build in name is
 older maps which were written with the latter in mind.
 
 @c ----------------------------------------------------------------
-@node -S Option, -T-Option, -O-Option, Amd Command Line Options
+@node -S Option, -T Option, -O Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-S}
 @cindex plock; using
@@ -3355,7 +2937,7 @@ it unavailable for other processes).  If this behavior is not desired,
 use the @code{-S} option.
 
 @c ----------------------------------------------------------------
-@node -T-Option, , -S Option, Amd Command Line Options
+@node -T Option, , -S Option, Amd Command Line Options
 @comment  node-name,  next,  previous,  up
 @section @code{-T} @var{tag}
 @cindex Tags for Amd configuration file
@@ -3571,8 +3153,12 @@ The @dfn{nfsx} (@samp{type:=nfsx}) filesystem allows a group of filesystems to b
 from a single NFS server.  The implementation is layered above the
 @samp{nfs} implementation so keep-alives work in the same way.
 
+@emph{WARNING}: @samp{nfsx} is meant to be a ``last resort'' kind of
+solution. It is racy and poorly supported. The authors @emph{highly}
+recommend that other solutions be considered before relying on it.
+
 The options are the same as for the @samp{nfs} filesystem with one
-difference.
+difference for @samp{rfs}, as explained below.
 
 @noindent
 The following options should be specified:
@@ -3598,7 +3184,7 @@ pub  type:=nfsx;rhost:=gould;\
 The first string defines the root of the tree, and is applied as a
 prefix to the remaining members of the list which define the individual
 filesystems.  The first string is @emph{not} used as a filesystem name.
-A parallel operation is used to determine the local mount points to
+A serial operation is used to determine the local mount points to
 ensure a consistent layout of a tree of mounts.
 
 Here, the @emph{three} filesystems, @samp{/public},
@@ -4655,35 +4241,12 @@ in the cache.
 (type=string, default no debug options).  Same as the @code{-D} option
 to @i{Amd}.  Specify any debugging options for @i{Amd}.  Works only if
 am-utils was configured for debugging using the @code{--enable-debug}
-option.  The @samp{mem} option, as well as all other options, can be
-turned on via @code{--enable-debug=mem}.  Otherwise debugging options
-are ignored.  Options are comma delimited, and can be preceded by the
-string @samp{no} to negate their meaning.  You can get the list of
-supported debugging and logging options by running @code{amd -H}.
-Possible values are:
-
-@table @samp
-@item all
-all options
-@item amq
-register for amq
-@item daemon
-enter daemon mode
-@item fork
-fork server
-@item full
-program trace
-@item mem
-trace memory allocations
-@item mtab
-use local @file{./mtab} file
-@item str
-debug string munging
-@item test
-full debug but no daemon
-@item trace
-trace RPC protocol and NFS mount arguments
-@end table
+option.  The additional @samp{mem} option can be turned on via
+@code{--enable-debug=mem}.  Otherwise debugging options are ignored.
+Options are comma delimited, and can be preceded by the string
+@samp{no} to negate their meaning.  You can get the list of supported
+debugging and logging options by running @code{amd -H}.  Possible
+values those listed for the -D Option. @xref{-D Option}
 
 @c ----------------------------------------------------------------
 @node dismount_interval Parameter, full_os Parameter, debug_options Parameter, Global Parameters
@@ -5354,14 +4917,14 @@ mount point.
 * Amq default::       Default command behavior.
 * Amq -f option::     Flushing the map cache.
 * Amq -h option::     Controlling a non-local host.
-* Amq -H-option::     Print help message.
+* Amq -H option::     Print help message.
 * Amq -l option::     Controlling the log file.
 * Amq -m option::     Obtaining mount statistics.
 * Amq -p option::     Getting Amd's process ID.
-* Amq -P-option::     Contacting alternate Amd processes.
+* Amq -P option::     Contacting alternate Amd processes.
 * Amq -s option::     Obtaining global statistics.
 * Amq -T option::     Use TCP transport.
-* Amq -U-option::     Use UDP transport.
+* Amq -U option::     Use UDP transport.
 * Amq -u option::     Forcing volumes to time out.
 * Amq -v option::     Version information.
 * Amq -w option::     Print Amd current working directory.
@@ -5457,7 +5020,7 @@ also be synchronized with the map source by using the @samp{sync} option
 (@pxref{Automount Filesystem}).@refill
 
 @c ----------------------------------------------------------------
-@node Amq -h option, Amq -H-option, Amq -f option, Controlling Amd
+@node Amq -h option, Amq -H option, Amq -f option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-h} option
 @cindex Querying an alternate host
@@ -5468,7 +5031,7 @@ be running.  To query @i{Amd} on another host the @code{-h} option should
 be used.
 
 @c ----------------------------------------------------------------
-@node Amq -H-option, Amq -l option, Amq -h option, Controlling Amd
+@node Amq -H option, Amq -l option, Amq -h option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-H} option
 @cindex Displaying brief help
@@ -5477,7 +5040,7 @@ be used.
 Print a brief help and usage string.
 
 @c ----------------------------------------------------------------
-@node Amq -l option, Amq -m option, Amq -H-option, Controlling Amd
+@node Amq -l option, Amq -m option, Amq -H option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-l} option
 @cindex Resetting the Amd log file
@@ -5550,7 +5113,7 @@ filesystem mount list.
 @end ignore
 
 @c ----------------------------------------------------------------
-@node Amq -p option, Amq -P-option, Amq -m option, Controlling Amd
+@node Amq -p option, Amq -P option, Amq -m option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-p} option
 @cindex Process ID; Amd
@@ -5564,7 +5127,7 @@ rather not have to search through the process table.  This option is
 used in the @file{ctl-amd} script.
 
 @c ----------------------------------------------------------------
-@node Amq -P-option, Amq -s option, Amq -p option, Controlling Amd
+@node Amq -P option, Amq -s option, Amq -p option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-P} option
 @cindex Multiple Amd processes
@@ -5587,7 +5150,7 @@ kill `amq -p -P 300020`
 @end example
 
 @c ----------------------------------------------------------------
-@node Amq -s option, Amq -T option, Amq -P-option, Controlling Amd
+@node Amq -s option, Amq -T option, Amq -P option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-s} option
 @cindex Global statistics
@@ -5624,7 +5187,7 @@ should be increased.
 @end table
 
 @c ----------------------------------------------------------------
-@node Amq -T option, Amq -U-option, Amq -s option, Controlling Amd
+@node Amq -T option, Amq -U option, Amq -s option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-T} option
 @cindex Forcing Amq to use a TCP transport
@@ -5635,7 +5198,7 @@ transport only (connection oriented).  Normally, @i{Amq} will use TCP
 first, and if that failed, will try UDP.
 
 @c ----------------------------------------------------------------
-@node Amq -U-option, Amq -u option, Amq -T option, Controlling Amd
+@node Amq -U option, Amq -u option, Amq -T option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-U} option
 @cindex Forcing Amq to use a UDP transport
@@ -5646,7 +5209,7 @@ transport only (connectionless).  Normally, @i{Amq} will use TCP first,
 and if that failed, will try UDP.
 
 @c ----------------------------------------------------------------
-@node Amq -u option, Amq -v option, Amq -U-option, Controlling Amd
+@node Amq -u option, Amq -v option, Amq -U option, Controlling Amd
 @comment  node-name,  next,  previous,  up
 @subsection @i{Amq} @code{-u} option
 @cindex Forcing filesystem to time out
@@ -7275,6 +6838,16 @@ mv /var/mail /var/alt_mail
 ln -s /mail/home /var/mail
 @end example
 
+@i{Hlfsd} also responds to the following signals:
+
+A @samp{SIGHUP} signal sent to @i{Hlfsd} will force it to reload the
+password map immediately.
+
+A @samp{SIGUSR1} signal sent to @i{Hlfsd} will cause it to dump its
+internal password map to the file @file{/usr/tmp/hlfsd.dump.XXXXXX},
+where @samp{XXXXXX} will be replaced by a random string generated by
+@b{mktemp}(3) or (the more secure) @b{mkstemp}(3).
+
 @c ----------------------------------------------------------------
 @node Hlfsd Options, Hlfsd Files, Controlling Hlfsd, Using Hlfsd
 @comment  node-name,  next,  previous,  up
@@ -7368,11 +6941,7 @@ Select from a variety of debugging options.  Prefixing an option with
 the string @samp{no} reverses the effect of that option.  Options are
 cumulative.  The most useful option is @samp{all}.  Since this option is
 only used for debugging other options are not documented here.  A fuller
-description is available in the program source.  A @samp{SIGUSR1} sent
-to @i{Hlfsd} will cause it to dump its internal password map to the file
-@file{/usr/tmp/hlfsd.dump.XXXXXX}, where @samp{XXXXXX} will be replaced
-by a random string generated by @b{mktemp}(3) or (the more secure)
-@b{mkstemp}(3).
+description is available in the program source.
 
 @item -P @var{password-file}
 Read the user-name, user-id, and home directory information from the
@@ -7411,6 +6980,12 @@ directory to which @file{home} symbolic link returned by @i{Hlfsd}
 points if it is unable to verify the that user's home directory is
 accessible.
 
+@item /usr/tmp/hlfsd.dump.XXXXXX
+file to which @i{Hlfsd} will dump its internal password map when it
+receives the @samp{SIGUSR1} signal. @samp{XXXXXX} will be replaced by
+a random string generated by @b{mktemp}(3) or (the more secure)
+@b{mkstemp}(3).
+
 @end table
 
 For discussion on other files used by @i{Hlfsd}, see @xref{lostaltmail}, and