|
|
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}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.