|
|
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.