Annotation of 43BSDReno/usr.sbin/amd/doc/internals.tex, revision 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.