5f8598c04b54b64ceddf8cb8b5e776fbe82e4549
[openafs.git] / doc / man-pages / pod8 / state_analyzer.pod
1 =head1 NAME
2
3 state_analyzer - Explores and queries the fileserver state database interactively
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 B<state_analyzer> S<<< <F<state dump file>> | B<-h> >>>
11
12 =for html
13 </div>
14
15 =head1 DESCRIPTION
16
17 Demand-attach file server makes host / callback information
18 persistent. On shutdown, the state is saved to database L<fsstate.dat(5)>.
19 On startup, the state is read, verified and restored.
20 This allows for file server shutdowns or restarts without breaking
21 the callbacks (an operation that could otherwise take a long time).
22
23 B<state_analyzer> interactively explores and queries the saved
24 state database, L<fsstate.dat(5)>.
25
26 This command is only supported on the demand-attach file server.
27 It operates at an extremely low-level and hence requires detailed
28 knowledge of the OpenAFS architecture and code. 
29
30 =head1 COMMANDS
31
32 B<state_analyzer> supports the following interactive commands:
33
34 =over 4
35
36
37 =item B<h <...>>  -- host menu
38
39 =over 4
40
41 =item *
42
43 B<hdr>      -- display the host_state_header struct
44
45 =item *
46
47 B<first>    -- display the first host
48
49 =item *
50
51 B<prev>     -- display the previous host
52
53 =item *
54
55 B<this>     -- display this host
56
57 =item *
58
59 B<next>     -- display the next host
60
61 =item *
62
63 B<last>     -- display the last host
64
65 =item *
66
67 B<dump>     -- display all hosts
68
69 =back
70
71
72 =item B<fe <...>>  -- FileEntry menu
73
74 =over 4
75
76 =item *
77
78 B<hdr>      -- display the callback_state_header struct
79
80 =item *
81
82 B<first>    -- display the first FE
83
84 =item *
85
86 B<prev>     -- display the previous FE
87
88 =item *
89
90 B<this>     -- display this FE
91
92 =item *
93
94 B<next>     -- display the next FE
95
96 =item *
97
98 B<last>     -- display the last FE
99
100 =item *
101
102 B<dump>     -- display all FEs
103
104 =item *
105
106 B<timeout>  -- display the timeout queue heads
107
108 =item *
109
110 B<hash>     -- display the file entry hash buckets
111
112 =item *
113
114 B<find by index I<id>> -- find an fe by its array index
115
116 =item *
117
118 B<find by fid I<(vol,vnode,unique)>> -- find an fe by its AFSFid
119
120 =back
121
122
123 =item B<cb <...>>  -- CallBack menu
124
125 =over 4
126
127 =item *
128
129 B<hdr>      -- display the callback_state_entry_header struct
130
131 =item *
132
133 B<first>    -- display the first CB
134
135 =item *
136
137 B<prev>     -- display the previous CB
138
139 =item *
140
141 B<this>     -- display this CB
142
143 =item *
144
145 B<next>     -- display the next CB
146
147 =item *
148
149 B<last>     -- display the last CB
150
151 =item *
152
153 B<dump>     -- display all CBs
154
155 =back
156
157 =item B<hexdump [B<offset> [B<len>]]>  -- hex dump raw data
158
159 =item B<quit>     -- quit current menu
160
161 =item B<exit>     -- exit debugger
162
163 =item B<help>     -- help message
164
165 =back
166
167 =head1 PRIVILEGE REQUIRED
168
169 The issuer must have read access to the file server state database,
170 F<fsstate.dat>.
171 Usually, this means that the issuer must be the
172 local superuser C<root> on the file server machine.
173
174 =head1 SEE ALSO
175
176 L<fsstate.dat(5)>,
177 L<fssync-debug(8)>,
178 L<salvsync-debug(8)>
179
180 =head1 COPYRIGHT
181
182 Copyright 2010 Davor Ocelic <docelic@spinlocksolutions.com>
183
184 This documentation is covered by the IBM Public License Version 1.0.  This
185 man page was written by Davor Ocelic for OpenAFS, based on documentation
186 from Tom Keiser, Steven Jenkins and others.