Annotation of 43BSDReno/usr.sbin/amd/doc/internals.tex, revision 1.1.1.1

1.1       root        1: % $Id: internals.tex,v 5.2 90/06/23 22:21:59 jsp Rel $
                      2: %
                      3: % Copyright (c) 1989 Jan-Simon Pendry
                      4: % Copyright (c) 1989 Imperial College of Science, Technology & Medicine
                      5: % Copyright (c) 1989 The Regents of the University of California.
                      6: % All rights reserved.
                      7: %
                      8: % This code is derived from software contributed to Berkeley by
                      9: % Jan-Simon Pendry at Imperial College, London.
                     10: %
                     11: % Redistribution and use in source and binary forms are permitted provided
                     12: % that: (1) source distributions retain this entire copyright notice and
                     13: % comment, and (2) distributions including binaries display the following
                     14: % acknowledgement:  ``This product includes software developed by the
                     15: % University of California, Berkeley and its contributors'' in the
                     16: % documentation or other materials provided with the distribution and in
                     17: % all advertising materials mentioning features or use of this software.
                     18: % Neither the name of the University nor the names of its contributors may
                     19: % be used to endorse or promote products derived from this software without
                     20: % specific prior written permission.
                     21: % THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     22: % WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     23: % MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     24: %
                     25: %      @(#)internals.tex       5.1 (Berkeley) 7/19/90
                     26: 
                     27: 
                     28: \Chapter{Internals}
                     29: 
                     30: \Section{Log Messages}
                     31: 
                     32: In the following sections a brief explanation is given of some
                     33: of the log messages made by \amd.
                     34: Where the message is in {\tt typewriter} font, it corresponds
                     35: exactly to the message produced by \amd.  Words in {\em italic}
                     36: are replaced by an appropriate string.  Variables, \Var{{\em var}},
                     37: indicate that the value of the appropriate variable is output.
                     38: 
                     39: Log messages are either sent direct to a file,
                     40: or logged via the {\bf syslog}(3) mechanism.
                     41: Messages are logged with facility {\tt LOG\_DAEMON} when using {\bf syslog}(3).
                     42: In either case, entries in the file are of the form:
                     43: \begin{quote}
                     44: {\em date-string}\ \ {\em hostname} {\tt amd[}{\em pid}{\tt ]}\ \ {\em message}
                     45: \end{quote}
                     46: 
                     47: \Subsection{Fatal errors}
                     48: \Amd\ attempts to deal with unusual events.
                     49: Whenever it is not possible to deal with such an error, \Amd\ will
                     50: log an appropriate message and, if it cannot possibly continue, will
                     51: either exit or abort.
                     52: These messages are selected by {\tt -x~fatal} on the command line.
                     53: When {\bf syslog}(3) is being used, they are logged with
                     54: level {\tt LOG\_FATAL}.
                     55: Even if \amd\ continues to operate it is likely to remain in a precarious
                     56: state and should be restarted at the earliest opportunity.
                     57: 
                     58: \begin{description}
                     59: \item [\tt Attempting to inherit not-a-filesystem]\mbox{}\\
                     60: The prototype mount point created during a filesystem restart
                     61: did not contain a reference to the restarted filesystem.
                     62: This erorr ``should never happen''.
                     63: 
                     64: \item [\tt Can't bind to domain "{\em yp-domain}"]\mbox{}\\
                     65: A specific YP domain was requested on the command line, but no
                     66: server for that domain is available on the local net.
                     67: 
                     68: \item [\tt Can't determine IP address of this host ({\em hostname})]\mbox{}\\
                     69: When \amd\ starts it determines its own IP address.
                     70: If this lookup fails then \amd\ cannot continue.
                     71: The hostname it looks up is that obtained returned by
                     72: {\bf gethostname}(2) system call.
                     73: 
                     74: \item [\tt Can't find root file handle for {\em automount point}]\mbox{}\\
                     75: \Amd\ creates its own file handles for the automount points.
                     76: When it mounts itself as a server, it must pass these
                     77: file handles to the local kernel.
                     78: If the filehandle is not obtainable the mount point is ignored.
                     79: This error ``should never happen''.
                     80: 
                     81: \item [\tt Must be root to mount filesystems (euid = {\em euid})]\mbox{}\\
                     82: To prevent embarrassment, \amd\ makes sure it has appropriate
                     83: system privileges.  This amounts to having an euid of 0.
                     84: The check is made after argument processing complete to
                     85: give non-root users a chance to access the ``-v'' option.
                     86: 
                     87: \item [\tt No work to do - quitting]\mbox{}\\
                     88: No automount points were given on the command line and so
                     89: there is no work to do.
                     90: 
                     91: \item [\tt Out of memory in realloc]\mbox{}\\
                     92: While attempting to realloc some memory, the memory space
                     93: available to \amd\ was exhausted.  This is an unrecoverable
                     94: error.
                     95: 
                     96: \item [\tt Out of memory]\mbox{}\\
                     97: While attempting to malloc some memory, the memory space
                     98: available to \amd\ was exhausted.  This is an unrecoverable
                     99: error.
                    100: 
                    101: \item [\tt cannot create rpc/udp service]\mbox{}\\
                    102: Either the NFS or AMQ endpoint could not be created.
                    103: 
                    104: \item [\tt gethostname:\ {\em description}]\mbox{}\\
                    105: The {\bf gethostname}(2) system call failed during startup.
                    106: 
                    107: \item [\tt host name is not set]\mbox{}\\
                    108: The {\bf gethostname}(2) system call returned a zero length
                    109: host name.
                    110: This can happen if \amd\ is started in single user mode just
                    111: after booting the system.
                    112: 
                    113: \item [\tt ifs\_match called!]\mbox{}\\
                    114: An internal error occurred while restarting a pre-mounted
                    115: filesystem.
                    116: This error ``should never happen''.
                    117: 
                    118: \item [\tt mount\_afs:\ {\em description}]\mbox{}\\
                    119: An error occured while \amd\ was mounting itself.
                    120: 
                    121: \item [\tt run\_rpc failed]\mbox{}\\
                    122: Somehow the main NFS server loop failed.
                    123: This error ``should never happen''.
                    124: 
                    125: \item [\tt unable to free rpc arguments in amqprog\_1]\mbox{}\\
                    126: The incoming arguments to the AMQ server could not be
                    127: free'ed.
                    128: 
                    129: \item [\tt unable to free rpc arguments in nfs\_program\_1]\mbox{}\\
                    130: The incoming arguments to the NFS server could not be
                    131: free'ed.
                    132: 
                    133: \item [\tt unable to register (AMQ\_PROGRAM, AMQ\_VERSION, udp)]\mbox{}\\
                    134: The AMQ server could not be registered with the local portmapper
                    135: or the internal RPC dispatcher.
                    136: 
                    137: \item [\tt unable to register (NFS\_PROGRAM, NFS\_VERSION, 0)]\mbox{}\\
                    138: The NFS server could not be registered with the internal RPC dispatcher.
                    139: 
                    140: \end{description}
                    141: 
                    142: \Subsection{Info messages}
                    143: \Amd\ generates information messages to record state changes.
                    144: These messages are selected by {\tt -x~info} on the command line.
                    145: When {\bf syslog}(3) is being used, they are logged with
                    146: level {\tt LOG\_INFO}.
                    147: The messages listed below can be generated
                    148: and are in a format suitable for simple statistical analysis.
                    149: ``{\em mount-info}'' is the string that is displayed by \amq\ in its mount
                    150: information column and placed in the system mount table.
                    151: \begin{description}
                    152: \item[\tt mount of "\Var{path}" on \Var{fs} timed out]\mbox{}\\
                    153: Attempts to mount a filesystem for the given automount point have failed
                    154: to complete within 30 seconds.
                    155: 
                    156: \item[\tt "\Var{path}" forcibly timed out]\mbox{}\\
                    157: An automount point has been timed out by the \amq\ command.
                    158: 
                    159: \item[\tt restarting {\em mount-info} on \Var{fs}]\mbox{}\\
                    160: A pre-mounted file system has been noted.
                    161: 
                    162: \item[\tt "\Var{path}" has timed out]\mbox{}\\
                    163: No access to the automount point has been made within the timeout period.
                    164: 
                    165: \item[\tt file server \Var{rhost} is down - timeout of "\Var{path}" ignored]\mbox{}\\
                    166: An automount point has timed out, but the corresponding file server is known to be down.
                    167: This message is only produced once for each mount point for which the server is down.
                    168: 
                    169: \item[\tt Re-synchronizing cache for map \Var{map}]\mbox{}\\
                    170: The named map has been modified and the internal cache is being re-synchronized.
                    171: 
                    172: \item[\tt Filehandle denied for "\Var{rhost}:\Var{rfs}"]\mbox{}\\
                    173: The mount daemon refused to return a file handle for the requested filesystem.
                    174: 
                    175: \item[\tt Filehandle error for "\Var{rhost}:\Var{rfs}":\ {\em description}]\mbox{}\\
                    176: The mount daemon gave some other error for the requested filesystem.
                    177: 
                    178: \item[\tt file server \Var{rhost} type nfs starts up]\mbox{}\\
                    179: A new \NFS\ file server has been referenced and is known to be up.
                    180: 
                    181: \item[\tt file server \Var{rhost} type nfs starts down]\mbox{}\\
                    182: A new \NFS\ file server has been referenced and is known to be down.
                    183: 
                    184: \item[\tt file server \Var{rhost} type nfs is up]\mbox{}\\
                    185: An \NFS\ file server that was previously down is now up.
                    186: 
                    187: \item[\tt file server \Var{rhost} type nfs is down]\mbox{}\\
                    188: An \NFS\ file server that was previously up is now down.
                    189: 
                    190: \item[\tt Finishing with status {\em exit-status}]\mbox{}\\
                    191: \Amd\ is about to exit with the given exit status. 
                    192: 
                    193: \item[\tt {\em mount-info} mounted fstype \Var{type} on \Var{fs}]\mbox{}\\
                    194: A new file system has been mounted.
                    195: 
                    196: \item[\tt {\em mount-info} restarted fstype \Var{type} on \Var{fs}]\mbox{}\\
                    197: \Amd\ is using a pre-mounted filesystem to satisfy a mount request.
                    198: 
                    199: \item[\tt {\em mount-info} unmounted fstype \Var{type} from \Var{fs}]\mbox{}\\
                    200: A file system has been unmounted.
                    201: 
                    202: \item[\tt {\em mount-info} unmounted fstype \Var{type} from \Var{fs} link \Var{fs}/\Var{sublink}]\mbox{}\\
                    203: A file system of which only a sub-directory was in use has been unmounted.
                    204: 
                    205: \end{description}
                    206: 
                    207: \Chapter*{Acknowledgements \& Trademarks}
                    208: \addcontentsline{toc}{chapter}{Acknowledgements \& Trademarks}
                    209: Thanks to the Formal Methods Group at Imperial College for
                    210: suffering patiently while \amd\ was being developed on their machines.
                    211: 
                    212: Thanks to the many people who have helped with the development
                    213: of \amd\, especially Piete Brooks at the Cambridge University Computing Lab for
                    214: many hours of testing, experimentation and discussion.
                    215: 
                    216: \begin{trivlist}
                    217: \item[{\sf DEC}, {\sf VAX} and {\sf Ultrix}]
                    218:  are registered trademarks of Digital Equipment Corporation.
                    219: \item[{\sf IBM}]
                    220: is a registered trademark of International Business Machines Corporation.
                    221: \item[{\sf Sun}, {\sf NFS} and {\sf SunOS}]
                    222: are registered trademarks of Sun Microsystems, Inc.
                    223: \item[{\sf Unix}]
                    224: is a registered trademark of AT\&T Bell Laboratories in
                    225: the USA and other countries.
                    226: \item[{\sf UTX}]
                    227: is a registered trademark of Gould, Inc.
                    228: \end{trivlist}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.