diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/console/console.txt | 144 | ||||
-rw-r--r-- | Documentation/fb/fbcon.txt | 180 | ||||
-rw-r--r-- | Documentation/filesystems/ext3.txt | 8 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 19 | ||||
-rw-r--r-- | Documentation/keys.txt | 43 | ||||
-rw-r--r-- | Documentation/md.txt | 67 | ||||
-rw-r--r-- | Documentation/tty.txt | 7 |
7 files changed, 438 insertions, 30 deletions
diff --git a/Documentation/console/console.txt b/Documentation/console/console.txt new file mode 100644 index 000000000000..d3e17447321c --- /dev/null +++ b/Documentation/console/console.txt | |||
@@ -0,0 +1,144 @@ | |||
1 | Console Drivers | ||
2 | =============== | ||
3 | |||
4 | The linux kernel has 2 general types of console drivers. The first type is | ||
5 | assigned by the kernel to all the virtual consoles during the boot process. | ||
6 | This type will be called 'system driver', and only one system driver is allowed | ||
7 | to exist. The system driver is persistent and it can never be unloaded, though | ||
8 | it may become inactive. | ||
9 | |||
10 | The second type has to be explicitly loaded and unloaded. This will be called | ||
11 | 'modular driver' by this document. Multiple modular drivers can coexist at | ||
12 | any time with each driver sharing the console with other drivers including | ||
13 | the system driver. However, modular drivers cannot take over the console | ||
14 | that is currently occupied by another modular driver. (Exception: Drivers that | ||
15 | call take_over_console() will succeed in the takeover regardless of the type | ||
16 | of driver occupying the consoles.) They can only take over the console that is | ||
17 | occupied by the system driver. In the same token, if the modular driver is | ||
18 | released by the console, the system driver will take over. | ||
19 | |||
20 | Modular drivers, from the programmer's point of view, has to call: | ||
21 | |||
22 | take_over_console() - load and bind driver to console layer | ||
23 | give_up_console() - unbind and unload driver | ||
24 | |||
25 | In newer kernels, the following are also available: | ||
26 | |||
27 | register_con_driver() | ||
28 | unregister_con_driver() | ||
29 | |||
30 | If sysfs is enabled, the contents of /sys/class/vtconsole can be | ||
31 | examined. This shows the console backends currently registered by the | ||
32 | system which are named vtcon<n> where <n> is an integer fro 0 to 15. Thus: | ||
33 | |||
34 | ls /sys/class/vtconsole | ||
35 | . .. vtcon0 vtcon1 | ||
36 | |||
37 | Each directory in /sys/class/vtconsole has 3 files: | ||
38 | |||
39 | ls /sys/class/vtconsole/vtcon0 | ||
40 | . .. bind name uevent | ||
41 | |||
42 | What do these files signify? | ||
43 | |||
44 | 1. bind - this is a read/write file. It shows the status of the driver if | ||
45 | read, or acts to bind or unbind the driver to the virtual consoles | ||
46 | when written to. The possible values are: | ||
47 | |||
48 | 0 - means the driver is not bound and if echo'ed, commands the driver | ||
49 | to unbind | ||
50 | |||
51 | 1 - means the driver is bound and if echo'ed, commands the driver to | ||
52 | bind | ||
53 | |||
54 | 2. name - read-only file. Shows the name of the driver in this format: | ||
55 | |||
56 | cat /sys/class/vtconsole/vtcon0/name | ||
57 | (S) VGA+ | ||
58 | |||
59 | '(S)' stands for a (S)ystem driver, ie, it cannot be directly | ||
60 | commanded to bind or unbind | ||
61 | |||
62 | 'VGA+' is the name of the driver | ||
63 | |||
64 | cat /sys/class/vtconsole/vtcon1/name | ||
65 | (M) frame buffer device | ||
66 | |||
67 | In this case, '(M)' stands for a (M)odular driver, one that can be | ||
68 | directly commanded to bind or unbind. | ||
69 | |||
70 | 3. uevent - ignore this file | ||
71 | |||
72 | When unbinding, the modular driver is detached first, and then the system | ||
73 | driver takes over the consoles vacated by the driver. Binding, on the other | ||
74 | hand, will bind the driver to the consoles that are currently occupied by a | ||
75 | system driver. | ||
76 | |||
77 | NOTE1: Binding and binding must be selected in Kconfig. It's under: | ||
78 | |||
79 | Device Drivers -> Character devices -> Support for binding and unbinding | ||
80 | console drivers | ||
81 | |||
82 | NOTE2: If any of the virtual consoles are in KD_GRAPHICS mode, then binding or | ||
83 | unbinding will not succeed. An example of an application that sets the console | ||
84 | to KD_GRAPHICS is X. | ||
85 | |||
86 | How useful is this feature? This is very useful for console driver | ||
87 | developers. By unbinding the driver from the console layer, one can unload the | ||
88 | driver, make changes, recompile, reload and rebind the driver without any need | ||
89 | for rebooting the kernel. For regular users who may want to switch from | ||
90 | framebuffer console to VGA console and vice versa, this feature also makes | ||
91 | this possible. (NOTE NOTE NOTE: Please read fbcon.txt under Documentation/fb | ||
92 | for more details). | ||
93 | |||
94 | Notes for developers: | ||
95 | ===================== | ||
96 | |||
97 | take_over_console() is now broken up into: | ||
98 | |||
99 | register_con_driver() | ||
100 | bind_con_driver() - private function | ||
101 | |||
102 | give_up_console() is a wrapper to unregister_con_driver(), and a driver must | ||
103 | be fully unbound for this call to succeed. con_is_bound() will check if the | ||
104 | driver is bound or not. | ||
105 | |||
106 | Guidelines for console driver writers: | ||
107 | ===================================== | ||
108 | |||
109 | In order for binding to and unbinding from the console to properly work, | ||
110 | console drivers must follow these guidelines: | ||
111 | |||
112 | 1. All drivers, except system drivers, must call either register_con_driver() | ||
113 | or take_over_console(). register_con_driver() will just add the driver to | ||
114 | the console's internal list. It won't take over the | ||
115 | console. take_over_console(), as it name implies, will also take over (or | ||
116 | bind to) the console. | ||
117 | |||
118 | 2. All resources allocated during con->con_init() must be released in | ||
119 | con->con_deinit(). | ||
120 | |||
121 | 3. All resources allocated in con->con_startup() must be released when the | ||
122 | driver, which was previously bound, becomes unbound. The console layer | ||
123 | does not have a complementary call to con->con_startup() so it's up to the | ||
124 | driver to check when it's legal to release these resources. Calling | ||
125 | con_is_bound() in con->con_deinit() will help. If the call returned | ||
126 | false(), then it's safe to release the resources. This balance has to be | ||
127 | ensured because con->con_startup() can be called again when a request to | ||
128 | rebind the driver to the console arrives. | ||
129 | |||
130 | 4. Upon exit of the driver, ensure that the driver is totally unbound. If the | ||
131 | condition is satisfied, then the driver must call unregister_con_driver() | ||
132 | or give_up_console(). | ||
133 | |||
134 | 5. unregister_con_driver() can also be called on conditions which make it | ||
135 | impossible for the driver to service console requests. This can happen | ||
136 | with the framebuffer console that suddenly lost all of its drivers. | ||
137 | |||
138 | The current crop of console drivers should still work correctly, but binding | ||
139 | and unbinding them may cause problems. With minimal fixes, these drivers can | ||
140 | be made to work correctly. | ||
141 | |||
142 | ========================== | ||
143 | Antonino Daplas <adaplas@pol.net> | ||
144 | |||
diff --git a/Documentation/fb/fbcon.txt b/Documentation/fb/fbcon.txt index 08dce0f631bf..f373df12ed4c 100644 --- a/Documentation/fb/fbcon.txt +++ b/Documentation/fb/fbcon.txt | |||
@@ -135,10 +135,10 @@ C. Boot options | |||
135 | 135 | ||
136 | The angle can be changed anytime afterwards by 'echoing' the same | 136 | The angle can be changed anytime afterwards by 'echoing' the same |
137 | numbers to any one of the 2 attributes found in | 137 | numbers to any one of the 2 attributes found in |
138 | /sys/class/graphics/fb{x} | 138 | /sys/class/graphics/fbcon |
139 | 139 | ||
140 | con_rotate - rotate the display of the active console | 140 | rotate - rotate the display of the active console |
141 | con_rotate_all - rotate the display of all consoles | 141 | rotate_all - rotate the display of all consoles |
142 | 142 | ||
143 | Console rotation will only become available if Console Rotation | 143 | Console rotation will only become available if Console Rotation |
144 | Support is compiled in your kernel. | 144 | Support is compiled in your kernel. |
@@ -148,5 +148,177 @@ C. Boot options | |||
148 | Actually, the underlying fb driver is totally ignorant of console | 148 | Actually, the underlying fb driver is totally ignorant of console |
149 | rotation. | 149 | rotation. |
150 | 150 | ||
151 | --- | 151 | C. Attaching, Detaching and Unloading |
152 | |||
153 | Before going on on how to attach, detach and unload the framebuffer console, an | ||
154 | illustration of the dependencies may help. | ||
155 | |||
156 | The console layer, as with most subsystems, needs a driver that interfaces with | ||
157 | the hardware. Thus, in a VGA console: | ||
158 | |||
159 | console ---> VGA driver ---> hardware. | ||
160 | |||
161 | Assuming the VGA driver can be unloaded, one must first unbind the VGA driver | ||
162 | from the console layer before unloading the driver. The VGA driver cannot be | ||
163 | unloaded if it is still bound to the console layer. (See | ||
164 | Documentation/console/console.txt for more information). | ||
165 | |||
166 | This is more complicated in the case of the the framebuffer console (fbcon), | ||
167 | because fbcon is an intermediate layer between the console and the drivers: | ||
168 | |||
169 | console ---> fbcon ---> fbdev drivers ---> hardware | ||
170 | |||
171 | The fbdev drivers cannot be unloaded if it's bound to fbcon, and fbcon cannot | ||
172 | be unloaded if it's bound to the console layer. | ||
173 | |||
174 | So to unload the fbdev drivers, one must first unbind fbcon from the console, | ||
175 | then unbind the fbdev drivers from fbcon. Fortunately, unbinding fbcon from | ||
176 | the console layer will automatically unbind framebuffer drivers from | ||
177 | fbcon. Thus, there is no need to explicitly unbind the fbdev drivers from | ||
178 | fbcon. | ||
179 | |||
180 | So, how do we unbind fbcon from the console? Part of the answer is in | ||
181 | Documentation/console/console.txt. To summarize: | ||
182 | |||
183 | Echo a value to the bind file that represents the framebuffer console | ||
184 | driver. So assuming vtcon1 represents fbcon, then: | ||
185 | |||
186 | echo 1 > sys/class/vtconsole/vtcon1/bind - attach framebuffer console to | ||
187 | console layer | ||
188 | echo 0 > sys/class/vtconsole/vtcon1/bind - detach framebuffer console from | ||
189 | console layer | ||
190 | |||
191 | If fbcon is detached from the console layer, your boot console driver (which is | ||
192 | usually VGA text mode) will take over. A few drivers (rivafb and i810fb) will | ||
193 | restore VGA text mode for you. With the rest, before detaching fbcon, you | ||
194 | must take a few additional steps to make sure that your VGA text mode is | ||
195 | restored properly. The following is one of the several methods that you can do: | ||
196 | |||
197 | 1. Download or install vbetool. This utility is included with most | ||
198 | distributions nowadays, and is usually part of the suspend/resume tool. | ||
199 | |||
200 | 2. In your kernel configuration, ensure that CONFIG_FRAMEBUFFER_CONSOLE is set | ||
201 | to 'y' or 'm'. Enable one or more of your favorite framebuffer drivers. | ||
202 | |||
203 | 3. Boot into text mode and as root run: | ||
204 | |||
205 | vbetool vbestate save > <vga state file> | ||
206 | |||
207 | The above command saves the register contents of your graphics | ||
208 | hardware to <vga state file>. You need to do this step only once as | ||
209 | the state file can be reused. | ||
210 | |||
211 | 4. If fbcon is compiled as a module, load fbcon by doing: | ||
212 | |||
213 | modprobe fbcon | ||
214 | |||
215 | 5. Now to detach fbcon: | ||
216 | |||
217 | vbetool vbestate restore < <vga state file> && \ | ||
218 | echo 0 > /sys/class/vtconsole/vtcon1/bind | ||
219 | |||
220 | 6. That's it, you're back to VGA mode. And if you compiled fbcon as a module, | ||
221 | you can unload it by 'rmmod fbcon' | ||
222 | |||
223 | 7. To reattach fbcon: | ||
224 | |||
225 | echo 1 > /sys/class/vtconsole/vtcon1/bind | ||
226 | |||
227 | 8. Once fbcon is unbound, all drivers registered to the system will also | ||
228 | become unbound. This means that fbcon and individual framebuffer drivers | ||
229 | can be unloaded or reloaded at will. Reloading the drivers or fbcon will | ||
230 | automatically bind the console, fbcon and the drivers together. Unloading | ||
231 | all the drivers without unloading fbcon will make it impossible for the | ||
232 | console to bind fbcon. | ||
233 | |||
234 | Notes for vesafb users: | ||
235 | ======================= | ||
236 | |||
237 | Unfortunately, if your bootline includes a vga=xxx parameter that sets the | ||
238 | hardware in graphics mode, such as when loading vesafb, vgacon will not load. | ||
239 | Instead, vgacon will replace the default boot console with dummycon, and you | ||
240 | won't get any display after detaching fbcon. Your machine is still alive, so | ||
241 | you can reattach vesafb. However, to reattach vesafb, you need to do one of | ||
242 | the following: | ||
243 | |||
244 | Variation 1: | ||
245 | |||
246 | a. Before detaching fbcon, do | ||
247 | |||
248 | vbetool vbemode save > <vesa state file> # do once for each vesafb mode, | ||
249 | # the file can be reused | ||
250 | |||
251 | b. Detach fbcon as in step 5. | ||
252 | |||
253 | c. Attach fbcon | ||
254 | |||
255 | vbetool vbestate restore < <vesa state file> && \ | ||
256 | echo 1 > /sys/class/vtconsole/vtcon1/bind | ||
257 | |||
258 | Variation 2: | ||
259 | |||
260 | a. Before detaching fbcon, do: | ||
261 | echo <ID> > /sys/class/tty/console/bind | ||
262 | |||
263 | |||
264 | vbetool vbemode get | ||
265 | |||
266 | b. Take note of the mode number | ||
267 | |||
268 | b. Detach fbcon as in step 5. | ||
269 | |||
270 | c. Attach fbcon: | ||
271 | |||
272 | vbetool vbemode set <mode number> && \ | ||
273 | echo 1 > /sys/class/vtconsole/vtcon1/bind | ||
274 | |||
275 | Samples: | ||
276 | ======== | ||
277 | |||
278 | Here are 2 sample bash scripts that you can use to bind or unbind the | ||
279 | framebuffer console driver if you are in an X86 box: | ||
280 | |||
281 | --------------------------------------------------------------------------- | ||
282 | #!/bin/bash | ||
283 | # Unbind fbcon | ||
284 | |||
285 | # Change this to where your actual vgastate file is located | ||
286 | # Or Use VGASTATE=$1 to indicate the state file at runtime | ||
287 | VGASTATE=/tmp/vgastate | ||
288 | |||
289 | # path to vbetool | ||
290 | VBETOOL=/usr/local/bin | ||
291 | |||
292 | |||
293 | for (( i = 0; i < 16; i++)) | ||
294 | do | ||
295 | if test -x /sys/class/vtconsole/vtcon$i; then | ||
296 | if [ `cat /sys/class/vtconsole/vtcon$i/name | grep -c "frame buffer"` \ | ||
297 | = 1 ]; then | ||
298 | if test -x $VBETOOL/vbetool; then | ||
299 | echo Unbinding vtcon$i | ||
300 | $VBETOOL/vbetool vbestate restore < $VGASTATE | ||
301 | echo 0 > /sys/class/vtconsole/vtcon$i/bind | ||
302 | fi | ||
303 | fi | ||
304 | fi | ||
305 | done | ||
306 | |||
307 | --------------------------------------------------------------------------- | ||
308 | #!/bin/bash | ||
309 | # Bind fbcon | ||
310 | |||
311 | for (( i = 0; i < 16; i++)) | ||
312 | do | ||
313 | if test -x /sys/class/vtconsole/vtcon$i; then | ||
314 | if [ `cat /sys/class/vtconsole/vtcon$i/name | grep -c "frame buffer"` \ | ||
315 | = 1 ]; then | ||
316 | echo Unbinding vtcon$i | ||
317 | echo 1 > /sys/class/vtconsole/vtcon$i/bind | ||
318 | fi | ||
319 | fi | ||
320 | done | ||
321 | --------------------------------------------------------------------------- | ||
322 | |||
323 | -- | ||
152 | Antonino Daplas <adaplas@pol.net> | 324 | Antonino Daplas <adaplas@pol.net> |
diff --git a/Documentation/filesystems/ext3.txt b/Documentation/filesystems/ext3.txt index afb1335c05d6..4aecc9bdb273 100644 --- a/Documentation/filesystems/ext3.txt +++ b/Documentation/filesystems/ext3.txt | |||
@@ -113,6 +113,14 @@ noquota | |||
113 | grpquota | 113 | grpquota |
114 | usrquota | 114 | usrquota |
115 | 115 | ||
116 | bh (*) ext3 associates buffer heads to data pages to | ||
117 | nobh (a) cache disk block mapping information | ||
118 | (b) link pages into transaction to provide | ||
119 | ordering guarantees. | ||
120 | "bh" option forces use of buffer heads. | ||
121 | "nobh" option tries to avoid associating buffer | ||
122 | heads (supported only for "writeback" mode). | ||
123 | |||
116 | 124 | ||
117 | Specification | 125 | Specification |
118 | ============= | 126 | ============= |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index bca6f389da66..2e352a605fcf 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -61,6 +61,7 @@ parameter is applicable: | |||
61 | MTD MTD support is enabled. | 61 | MTD MTD support is enabled. |
62 | NET Appropriate network support is enabled. | 62 | NET Appropriate network support is enabled. |
63 | NUMA NUMA support is enabled. | 63 | NUMA NUMA support is enabled. |
64 | GENERIC_TIME The generic timeofday code is enabled. | ||
64 | NFS Appropriate NFS support is enabled. | 65 | NFS Appropriate NFS support is enabled. |
65 | OSS OSS sound support is enabled. | 66 | OSS OSS sound support is enabled. |
66 | PARIDE The ParIDE subsystem is enabled. | 67 | PARIDE The ParIDE subsystem is enabled. |
@@ -179,6 +180,11 @@ running once the system is up. | |||
179 | override platform specific driver. | 180 | override platform specific driver. |
180 | See also Documentation/acpi-hotkey.txt. | 181 | See also Documentation/acpi-hotkey.txt. |
181 | 182 | ||
183 | acpi_pm_good [IA-32,X86-64] | ||
184 | Override the pmtimer bug detection: force the kernel | ||
185 | to assume that this machine's pmtimer latches its value | ||
186 | and always returns good values. | ||
187 | |||
182 | enable_timer_pin_1 [i386,x86-64] | 188 | enable_timer_pin_1 [i386,x86-64] |
183 | Enable PIN 1 of APIC timer | 189 | Enable PIN 1 of APIC timer |
184 | Can be useful to work around chipset bugs | 190 | Can be useful to work around chipset bugs |
@@ -341,10 +347,11 @@ running once the system is up. | |||
341 | Value can be changed at runtime via | 347 | Value can be changed at runtime via |
342 | /selinux/checkreqprot. | 348 | /selinux/checkreqprot. |
343 | 349 | ||
344 | clock= [BUGS=IA-32,HW] gettimeofday timesource override. | 350 | clock= [BUGS=IA-32, HW] gettimeofday clocksource override. |
345 | Forces specified timesource (if avaliable) to be used | 351 | [Deprecated] |
346 | when calculating gettimeofday(). If specicified | 352 | Forces specified clocksource (if avaliable) to be used |
347 | timesource is not avalible, it defaults to PIT. | 353 | when calculating gettimeofday(). If specified |
354 | clocksource is not avalible, it defaults to PIT. | ||
348 | Format: { pit | tsc | cyclone | pmtmr } | 355 | Format: { pit | tsc | cyclone | pmtmr } |
349 | 356 | ||
350 | disable_8254_timer | 357 | disable_8254_timer |
@@ -1617,6 +1624,10 @@ running once the system is up. | |||
1617 | 1624 | ||
1618 | time Show timing data prefixed to each printk message line | 1625 | time Show timing data prefixed to each printk message line |
1619 | 1626 | ||
1627 | clocksource= [GENERIC_TIME] Override the default clocksource | ||
1628 | Override the default clocksource and use the clocksource | ||
1629 | with the name specified. | ||
1630 | |||
1620 | tipar.timeout= [HW,PPT] | 1631 | tipar.timeout= [HW,PPT] |
1621 | Set communications timeout in tenths of a second | 1632 | Set communications timeout in tenths of a second |
1622 | (default 15). | 1633 | (default 15). |
diff --git a/Documentation/keys.txt b/Documentation/keys.txt index 3bbe157b45e4..61c0fad2fe2f 100644 --- a/Documentation/keys.txt +++ b/Documentation/keys.txt | |||
@@ -241,25 +241,30 @@ The security class "key" has been added to SELinux so that mandatory access | |||
241 | controls can be applied to keys created within various contexts. This support | 241 | controls can be applied to keys created within various contexts. This support |
242 | is preliminary, and is likely to change quite significantly in the near future. | 242 | is preliminary, and is likely to change quite significantly in the near future. |
243 | Currently, all of the basic permissions explained above are provided in SELinux | 243 | Currently, all of the basic permissions explained above are provided in SELinux |
244 | as well; SE Linux is simply invoked after all basic permission checks have been | 244 | as well; SELinux is simply invoked after all basic permission checks have been |
245 | performed. | 245 | performed. |
246 | 246 | ||
247 | Each key is labeled with the same context as the task to which it belongs. | 247 | The value of the file /proc/self/attr/keycreate influences the labeling of |
248 | Typically, this is the same task that was running when the key was created. | 248 | newly-created keys. If the contents of that file correspond to an SELinux |
249 | The default keyrings are handled differently, but in a way that is very | 249 | security context, then the key will be assigned that context. Otherwise, the |
250 | intuitive: | 250 | key will be assigned the current context of the task that invoked the key |
251 | creation request. Tasks must be granted explicit permission to assign a | ||
252 | particular context to newly-created keys, using the "create" permission in the | ||
253 | key security class. | ||
251 | 254 | ||
252 | (*) The user and user session keyrings that are created when the user logs in | 255 | The default keyrings associated with users will be labeled with the default |
253 | are currently labeled with the context of the login manager. | 256 | context of the user if and only if the login programs have been instrumented to |
254 | 257 | properly initialize keycreate during the login process. Otherwise, they will | |
255 | (*) The keyrings associated with new threads are each labeled with the context | 258 | be labeled with the context of the login program itself. |
256 | of their associated thread, and both session and process keyrings are | ||
257 | handled similarly. | ||
258 | 259 | ||
259 | Note, however, that the default keyrings associated with the root user are | 260 | Note, however, that the default keyrings associated with the root user are |
260 | labeled with the default kernel context, since they are created early in the | 261 | labeled with the default kernel context, since they are created early in the |
261 | boot process, before root has a chance to log in. | 262 | boot process, before root has a chance to log in. |
262 | 263 | ||
264 | The keyrings associated with new threads are each labeled with the context of | ||
265 | their associated thread, and both session and process keyrings are handled | ||
266 | similarly. | ||
267 | |||
263 | 268 | ||
264 | ================ | 269 | ================ |
265 | NEW PROCFS FILES | 270 | NEW PROCFS FILES |
@@ -270,9 +275,17 @@ about the status of the key service: | |||
270 | 275 | ||
271 | (*) /proc/keys | 276 | (*) /proc/keys |
272 | 277 | ||
273 | This lists all the keys on the system, giving information about their | 278 | This lists the keys that are currently viewable by the task reading the |
274 | type, description and permissions. The payload of the key is not available | 279 | file, giving information about their type, description and permissions. |
275 | this way: | 280 | It is not possible to view the payload of the key this way, though some |
281 | information about it may be given. | ||
282 | |||
283 | The only keys included in the list are those that grant View permission to | ||
284 | the reading process whether or not it possesses them. Note that LSM | ||
285 | security checks are still performed, and may further filter out keys that | ||
286 | the current process is not authorised to view. | ||
287 | |||
288 | The contents of the file look like this: | ||
276 | 289 | ||
277 | SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY | 290 | SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY |
278 | 00000001 I----- 39 perm 1f3f0000 0 0 keyring _uid_ses.0: 1/4 | 291 | 00000001 I----- 39 perm 1f3f0000 0 0 keyring _uid_ses.0: 1/4 |
@@ -300,7 +313,7 @@ about the status of the key service: | |||
300 | (*) /proc/key-users | 313 | (*) /proc/key-users |
301 | 314 | ||
302 | This file lists the tracking data for each user that has at least one key | 315 | This file lists the tracking data for each user that has at least one key |
303 | on the system. Such data includes quota information and statistics: | 316 | on the system. Such data includes quota information and statistics: |
304 | 317 | ||
305 | [root@andromeda root]# cat /proc/key-users | 318 | [root@andromeda root]# cat /proc/key-users |
306 | 0: 46 45/45 1/100 13/10000 | 319 | 0: 46 45/45 1/100 13/10000 |
diff --git a/Documentation/md.txt b/Documentation/md.txt index 03a13c462cf2..0668f9dc9d29 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt | |||
@@ -200,6 +200,17 @@ All md devices contain: | |||
200 | This can be written only while the array is being assembled, not | 200 | This can be written only while the array is being assembled, not |
201 | after it is started. | 201 | after it is started. |
202 | 202 | ||
203 | layout | ||
204 | The "layout" for the array for the particular level. This is | ||
205 | simply a number that is interpretted differently by different | ||
206 | levels. It can be written while assembling an array. | ||
207 | |||
208 | resync_start | ||
209 | The point at which resync should start. If no resync is needed, | ||
210 | this will be a very large number. At array creation it will | ||
211 | default to 0, though starting the array as 'clean' will | ||
212 | set it much larger. | ||
213 | |||
203 | new_dev | 214 | new_dev |
204 | This file can be written but not read. The value written should | 215 | This file can be written but not read. The value written should |
205 | be a block device number as major:minor. e.g. 8:0 | 216 | be a block device number as major:minor. e.g. 8:0 |
@@ -207,6 +218,54 @@ All md devices contain: | |||
207 | available. It will then appear at md/dev-XXX (depending on the | 218 | available. It will then appear at md/dev-XXX (depending on the |
208 | name of the device) and further configuration is then possible. | 219 | name of the device) and further configuration is then possible. |
209 | 220 | ||
221 | safe_mode_delay | ||
222 | When an md array has seen no write requests for a certain period | ||
223 | of time, it will be marked as 'clean'. When another write | ||
224 | request arrive, the array is marked as 'dirty' before the write | ||
225 | commenses. This is known as 'safe_mode'. | ||
226 | The 'certain period' is controlled by this file which stores the | ||
227 | period as a number of seconds. The default is 200msec (0.200). | ||
228 | Writing a value of 0 disables safemode. | ||
229 | |||
230 | array_state | ||
231 | This file contains a single word which describes the current | ||
232 | state of the array. In many cases, the state can be set by | ||
233 | writing the word for the desired state, however some states | ||
234 | cannot be explicitly set, and some transitions are not allowed. | ||
235 | |||
236 | clear | ||
237 | No devices, no size, no level | ||
238 | Writing is equivalent to STOP_ARRAY ioctl | ||
239 | inactive | ||
240 | May have some settings, but array is not active | ||
241 | all IO results in error | ||
242 | When written, doesn't tear down array, but just stops it | ||
243 | suspended (not supported yet) | ||
244 | All IO requests will block. The array can be reconfigured. | ||
245 | Writing this, if accepted, will block until array is quiessent | ||
246 | readonly | ||
247 | no resync can happen. no superblocks get written. | ||
248 | write requests fail | ||
249 | read-auto | ||
250 | like readonly, but behaves like 'clean' on a write request. | ||
251 | |||
252 | clean - no pending writes, but otherwise active. | ||
253 | When written to inactive array, starts without resync | ||
254 | If a write request arrives then | ||
255 | if metadata is known, mark 'dirty' and switch to 'active'. | ||
256 | if not known, block and switch to write-pending | ||
257 | If written to an active array that has pending writes, then fails. | ||
258 | active | ||
259 | fully active: IO and resync can be happening. | ||
260 | When written to inactive array, starts with resync | ||
261 | |||
262 | write-pending | ||
263 | clean, but writes are blocked waiting for 'active' to be written. | ||
264 | |||
265 | active-idle | ||
266 | like active, but no writes have been seen for a while (safe_mode_delay). | ||
267 | |||
268 | |||
210 | sync_speed_min | 269 | sync_speed_min |
211 | sync_speed_max | 270 | sync_speed_max |
212 | This are similar to /proc/sys/dev/raid/speed_limit_{min,max} | 271 | This are similar to /proc/sys/dev/raid/speed_limit_{min,max} |
@@ -250,10 +309,18 @@ Each directory contains: | |||
250 | faulty - device has been kicked from active use due to | 309 | faulty - device has been kicked from active use due to |
251 | a detected fault | 310 | a detected fault |
252 | in_sync - device is a fully in-sync member of the array | 311 | in_sync - device is a fully in-sync member of the array |
312 | writemostly - device will only be subject to read | ||
313 | requests if there are no other options. | ||
314 | This applies only to raid1 arrays. | ||
253 | spare - device is working, but not a full member. | 315 | spare - device is working, but not a full member. |
254 | This includes spares that are in the process | 316 | This includes spares that are in the process |
255 | of being recoverred to | 317 | of being recoverred to |
256 | This list make grow in future. | 318 | This list make grow in future. |
319 | This can be written to. | ||
320 | Writing "faulty" simulates a failure on the device. | ||
321 | Writing "remove" removes the device from the array. | ||
322 | Writing "writemostly" sets the writemostly flag. | ||
323 | Writing "-writemostly" clears the writemostly flag. | ||
257 | 324 | ||
258 | errors | 325 | errors |
259 | An approximate count of read errors that have been detected on | 326 | An approximate count of read errors that have been detected on |
diff --git a/Documentation/tty.txt b/Documentation/tty.txt index 8ff7bc2a0811..dab56604745d 100644 --- a/Documentation/tty.txt +++ b/Documentation/tty.txt | |||
@@ -80,13 +80,6 @@ receive_buf() - Hand buffers of bytes from the driver to the ldisc | |||
80 | for processing. Semantics currently rather | 80 | for processing. Semantics currently rather |
81 | mysterious 8( | 81 | mysterious 8( |
82 | 82 | ||
83 | receive_room() - Can be called by the driver layer at any time when | ||
84 | the ldisc is opened. The ldisc must be able to | ||
85 | handle the reported amount of data at that instant. | ||
86 | Synchronization between active receive_buf and | ||
87 | receive_room calls is down to the driver not the | ||
88 | ldisc. Must not sleep. | ||
89 | |||
90 | write_wakeup() - May be called at any point between open and close. | 83 | write_wakeup() - May be called at any point between open and close. |
91 | The TTY_DO_WRITE_WAKEUP flag indicates if a call | 84 | The TTY_DO_WRITE_WAKEUP flag indicates if a call |
92 | is needed but always races versus calls. Thus the | 85 | is needed but always races versus calls. Thus the |