diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-05 14:38:55 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-05 14:38:55 -0500 |
commit | 328198acb7407301ddf6005c0fa1e04bd0c539c8 (patch) | |
tree | 9936112bd195bfbaacc9a75f2ea7ff757a2c0546 /Documentation | |
parent | 9e0cb06b17be7e562cbdaba2768649f025826dc6 (diff) | |
parent | fecb4a0c87c2bcaee1f3cf800126eef752a07ed3 (diff) |
Merge branch 'master'
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/kernel-api.tmpl | 6 | ||||
-rw-r--r-- | Documentation/RCU/torture.txt | 122 | ||||
-rw-r--r-- | Documentation/arm/Samsung-S3C24XX/Overview.txt | 41 | ||||
-rw-r--r-- | Documentation/cpusets.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/ntfs.txt | 42 | ||||
-rw-r--r-- | Documentation/filesystems/xfs.txt | 142 | ||||
-rw-r--r-- | Documentation/firmware_class/firmware_sample_driver.c | 1 | ||||
-rw-r--r-- | Documentation/firmware_class/firmware_sample_firmware_class.c | 2 | ||||
-rw-r--r-- | Documentation/i2c/writing-clients | 1 | ||||
-rw-r--r-- | Documentation/keys.txt | 22 | ||||
-rw-r--r-- | Documentation/scsi/LICENSE.qla2xxx | 45 | ||||
-rw-r--r-- | Documentation/serial/driver | 66 |
12 files changed, 431 insertions, 61 deletions
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 4d9b66d8b4db..ec474e5a25ed 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl | |||
@@ -239,9 +239,9 @@ X!Ilib/string.c | |||
239 | <title>Network device support</title> | 239 | <title>Network device support</title> |
240 | <sect1><title>Driver Support</title> | 240 | <sect1><title>Driver Support</title> |
241 | !Enet/core/dev.c | 241 | !Enet/core/dev.c |
242 | </sect1> | 242 | !Enet/ethernet/eth.c |
243 | <sect1><title>8390 Based Network Cards</title> | 243 | !Einclude/linux/etherdevice.h |
244 | !Edrivers/net/8390.c | 244 | !Enet/core/wireless.c |
245 | </sect1> | 245 | </sect1> |
246 | <sect1><title>Synchronous PPP</title> | 246 | <sect1><title>Synchronous PPP</title> |
247 | !Edrivers/net/wan/syncppp.c | 247 | !Edrivers/net/wan/syncppp.c |
diff --git a/Documentation/RCU/torture.txt b/Documentation/RCU/torture.txt new file mode 100644 index 000000000000..e4c38152f7f7 --- /dev/null +++ b/Documentation/RCU/torture.txt | |||
@@ -0,0 +1,122 @@ | |||
1 | RCU Torture Test Operation | ||
2 | |||
3 | |||
4 | CONFIG_RCU_TORTURE_TEST | ||
5 | |||
6 | The CONFIG_RCU_TORTURE_TEST config option is available for all RCU | ||
7 | implementations. It creates an rcutorture kernel module that can | ||
8 | be loaded to run a torture test. The test periodically outputs | ||
9 | status messages via printk(), which can be examined via the dmesg | ||
10 | command (perhaps grepping for "rcutorture"). The test is started | ||
11 | when the module is loaded, and stops when the module is unloaded. | ||
12 | |||
13 | However, actually setting this config option to "y" results in the system | ||
14 | running the test immediately upon boot, and ending only when the system | ||
15 | is taken down. Normally, one will instead want to build the system | ||
16 | with CONFIG_RCU_TORTURE_TEST=m and to use modprobe and rmmod to control | ||
17 | the test, perhaps using a script similar to the one shown at the end of | ||
18 | this document. Note that you will need CONFIG_MODULE_UNLOAD in order | ||
19 | to be able to end the test. | ||
20 | |||
21 | |||
22 | MODULE PARAMETERS | ||
23 | |||
24 | This module has the following parameters: | ||
25 | |||
26 | nreaders This is the number of RCU reading threads supported. | ||
27 | The default is twice the number of CPUs. Why twice? | ||
28 | To properly exercise RCU implementations with preemptible | ||
29 | read-side critical sections. | ||
30 | |||
31 | stat_interval The number of seconds between output of torture | ||
32 | statistics (via printk()). Regardless of the interval, | ||
33 | statistics are printed when the module is unloaded. | ||
34 | Setting the interval to zero causes the statistics to | ||
35 | be printed -only- when the module is unloaded, and this | ||
36 | is the default. | ||
37 | |||
38 | verbose Enable debug printk()s. Default is disabled. | ||
39 | |||
40 | |||
41 | OUTPUT | ||
42 | |||
43 | The statistics output is as follows: | ||
44 | |||
45 | rcutorture: --- Start of test: nreaders=16 stat_interval=0 verbose=0 | ||
46 | rcutorture: rtc: 0000000000000000 ver: 1916 tfle: 0 rta: 1916 rtaf: 0 rtf: 1915 | ||
47 | rcutorture: Reader Pipe: 1466408 9747 0 0 0 0 0 0 0 0 0 | ||
48 | rcutorture: Reader Batch: 1464477 11678 0 0 0 0 0 0 0 0 | ||
49 | rcutorture: Free-Block Circulation: 1915 1915 1915 1915 1915 1915 1915 1915 1915 1915 0 | ||
50 | rcutorture: --- End of test | ||
51 | |||
52 | The command "dmesg | grep rcutorture:" will extract this information on | ||
53 | most systems. On more esoteric configurations, it may be necessary to | ||
54 | use other commands to access the output of the printk()s used by | ||
55 | the RCU torture test. The printk()s use KERN_ALERT, so they should | ||
56 | be evident. ;-) | ||
57 | |||
58 | The entries are as follows: | ||
59 | |||
60 | o "ggp": The number of counter flips (or batches) since boot. | ||
61 | |||
62 | o "rtc": The hexadecimal address of the structure currently visible | ||
63 | to readers. | ||
64 | |||
65 | o "ver": The number of times since boot that the rcutw writer task | ||
66 | has changed the structure visible to readers. | ||
67 | |||
68 | o "tfle": If non-zero, indicates that the "torture freelist" | ||
69 | containing structure to be placed into the "rtc" area is empty. | ||
70 | This condition is important, since it can fool you into thinking | ||
71 | that RCU is working when it is not. :-/ | ||
72 | |||
73 | o "rta": Number of structures allocated from the torture freelist. | ||
74 | |||
75 | o "rtaf": Number of allocations from the torture freelist that have | ||
76 | failed due to the list being empty. | ||
77 | |||
78 | o "rtf": Number of frees into the torture freelist. | ||
79 | |||
80 | o "Reader Pipe": Histogram of "ages" of structures seen by readers. | ||
81 | If any entries past the first two are non-zero, RCU is broken. | ||
82 | And rcutorture prints the error flag string "!!!" to make sure | ||
83 | you notice. The age of a newly allocated structure is zero, | ||
84 | it becomes one when removed from reader visibility, and is | ||
85 | incremented once per grace period subsequently -- and is freed | ||
86 | after passing through (RCU_TORTURE_PIPE_LEN-2) grace periods. | ||
87 | |||
88 | The output displayed above was taken from a correctly working | ||
89 | RCU. If you want to see what it looks like when broken, break | ||
90 | it yourself. ;-) | ||
91 | |||
92 | o "Reader Batch": Another histogram of "ages" of structures seen | ||
93 | by readers, but in terms of counter flips (or batches) rather | ||
94 | than in terms of grace periods. The legal number of non-zero | ||
95 | entries is again two. The reason for this separate view is | ||
96 | that it is easier to get the third entry to show up in the | ||
97 | "Reader Batch" list than in the "Reader Pipe" list. | ||
98 | |||
99 | o "Free-Block Circulation": Shows the number of torture structures | ||
100 | that have reached a given point in the pipeline. The first element | ||
101 | should closely correspond to the number of structures allocated, | ||
102 | the second to the number that have been removed from reader view, | ||
103 | and all but the last remaining to the corresponding number of | ||
104 | passes through a grace period. The last entry should be zero, | ||
105 | as it is only incremented if a torture structure's counter | ||
106 | somehow gets incremented farther than it should. | ||
107 | |||
108 | |||
109 | USAGE | ||
110 | |||
111 | The following script may be used to torture RCU: | ||
112 | |||
113 | #!/bin/sh | ||
114 | |||
115 | modprobe rcutorture | ||
116 | sleep 100 | ||
117 | rmmod rcutorture | ||
118 | dmesg | grep rcutorture: | ||
119 | |||
120 | The output can be manually inspected for the error flag of "!!!". | ||
121 | One could of course create a more elaborate script that automatically | ||
122 | checked for such errors. | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt index 3af4d29a8938..89aa89d526ac 100644 --- a/Documentation/arm/Samsung-S3C24XX/Overview.txt +++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt | |||
@@ -81,7 +81,8 @@ Adding New Machines | |||
81 | 81 | ||
82 | Any large scale modifications, or new drivers should be discussed | 82 | Any large scale modifications, or new drivers should be discussed |
83 | on the ARM kernel mailing list (linux-arm-kernel) before being | 83 | on the ARM kernel mailing list (linux-arm-kernel) before being |
84 | attempted. | 84 | attempted. See http://www.arm.linux.org.uk/mailinglists/ for the |
85 | mailing list information. | ||
85 | 86 | ||
86 | 87 | ||
87 | NAND | 88 | NAND |
@@ -120,6 +121,43 @@ Clock Management | |||
120 | various clock units | 121 | various clock units |
121 | 122 | ||
122 | 123 | ||
124 | Platform Data | ||
125 | ------------- | ||
126 | |||
127 | Whenever a device has platform specific data that is specified | ||
128 | on a per-machine basis, care should be taken to ensure the | ||
129 | following: | ||
130 | |||
131 | 1) that default data is not left in the device to confuse the | ||
132 | driver if a machine does not set it at startup | ||
133 | |||
134 | 2) the data should (if possible) be marked as __initdata, | ||
135 | to ensure that the data is thrown away if the machine is | ||
136 | not the one currently in use. | ||
137 | |||
138 | The best way of doing this is to make a function that | ||
139 | kmalloc()s an area of memory, and copies the __initdata | ||
140 | and then sets the relevant device's platform data. Making | ||
141 | the function `__init` takes care of ensuring it is discarded | ||
142 | with the rest of the initialisation code | ||
143 | |||
144 | static __init void s3c24xx_xxx_set_platdata(struct xxx_data *pd) | ||
145 | { | ||
146 | struct s3c2410_xxx_mach_info *npd; | ||
147 | |||
148 | npd = kmalloc(sizeof(struct s3c2410_xxx_mach_info), GFP_KERNEL); | ||
149 | if (npd) { | ||
150 | memcpy(npd, pd, sizeof(struct s3c2410_xxx_mach_info)); | ||
151 | s3c_device_xxx.dev.platform_data = npd; | ||
152 | } else { | ||
153 | printk(KERN_ERR "no memory for xxx platform data\n"); | ||
154 | } | ||
155 | } | ||
156 | |||
157 | Note, since the code is marked as __init, it should not be | ||
158 | exported outside arch/arm/mach-s3c2410/, or exported to | ||
159 | modules via EXPORT_SYMBOL() and related functions. | ||
160 | |||
123 | Port Contributors | 161 | Port Contributors |
124 | ----------------- | 162 | ----------------- |
125 | 163 | ||
@@ -149,6 +187,7 @@ Document Changes | |||
149 | 06 Mar 2005 - BJD - Added Christer Weinigel | 187 | 06 Mar 2005 - BJD - Added Christer Weinigel |
150 | 08 Mar 2005 - BJD - Added LCVR to list of people, updated introduction | 188 | 08 Mar 2005 - BJD - Added LCVR to list of people, updated introduction |
151 | 08 Mar 2005 - BJD - Added section on adding machines | 189 | 08 Mar 2005 - BJD - Added section on adding machines |
190 | 09 Sep 2005 - BJD - Added section on platform data | ||
152 | 191 | ||
153 | Document Author | 192 | Document Author |
154 | --------------- | 193 | --------------- |
diff --git a/Documentation/cpusets.txt b/Documentation/cpusets.txt index d17b7d2dd771..a09a8eb80665 100644 --- a/Documentation/cpusets.txt +++ b/Documentation/cpusets.txt | |||
@@ -94,7 +94,7 @@ the available CPU and Memory resources amongst the requesting tasks. | |||
94 | But larger systems, which benefit more from careful processor and | 94 | But larger systems, which benefit more from careful processor and |
95 | memory placement to reduce memory access times and contention, | 95 | memory placement to reduce memory access times and contention, |
96 | and which typically represent a larger investment for the customer, | 96 | and which typically represent a larger investment for the customer, |
97 | can benefit from explictly placing jobs on properly sized subsets of | 97 | can benefit from explicitly placing jobs on properly sized subsets of |
98 | the system. | 98 | the system. |
99 | 99 | ||
100 | This can be especially valuable on: | 100 | This can be especially valuable on: |
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index a5fbc8e897fa..614de3124901 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt | |||
@@ -50,9 +50,14 @@ userspace utilities, etc. | |||
50 | Features | 50 | Features |
51 | ======== | 51 | ======== |
52 | 52 | ||
53 | - This is a complete rewrite of the NTFS driver that used to be in the kernel. | 53 | - This is a complete rewrite of the NTFS driver that used to be in the 2.4 and |
54 | This new driver implements NTFS read support and is functionally equivalent | 54 | earlier kernels. This new driver implements NTFS read support and is |
55 | to the old ntfs driver. | 55 | functionally equivalent to the old ntfs driver and it also implements limited |
56 | write support. The biggest limitation at present is that files/directories | ||
57 | cannot be created or deleted. See below for the list of write features that | ||
58 | are so far supported. Another limitation is that writing to compressed files | ||
59 | is not implemented at all. Also, neither read nor write access to encrypted | ||
60 | files is so far implemented. | ||
56 | - The new driver has full support for sparse files on NTFS 3.x volumes which | 61 | - The new driver has full support for sparse files on NTFS 3.x volumes which |
57 | the old driver isn't happy with. | 62 | the old driver isn't happy with. |
58 | - The new driver supports execution of binaries due to mmap() now being | 63 | - The new driver supports execution of binaries due to mmap() now being |
@@ -78,7 +83,20 @@ Features | |||
78 | - The new driver supports fsync(2), fdatasync(2), and msync(2). | 83 | - The new driver supports fsync(2), fdatasync(2), and msync(2). |
79 | - The new driver supports readv(2) and writev(2). | 84 | - The new driver supports readv(2) and writev(2). |
80 | - The new driver supports access time updates (including mtime and ctime). | 85 | - The new driver supports access time updates (including mtime and ctime). |
81 | 86 | - The new driver supports truncate(2) and open(2) with O_TRUNC. But at present | |
87 | only very limited support for highly fragmented files, i.e. ones which have | ||
88 | their data attribute split across multiple extents, is included. Another | ||
89 | limitation is that at present truncate(2) will never create sparse files, | ||
90 | since to mark a file sparse we need to modify the directory entry for the | ||
91 | file and we do not implement directory modifications yet. | ||
92 | - The new driver supports write(2) which can both overwrite existing data and | ||
93 | extend the file size so that you can write beyond the existing data. Also, | ||
94 | writing into sparse regions is supported and the holes are filled in with | ||
95 | clusters. But at present only limited support for highly fragmented files, | ||
96 | i.e. ones which have their data attribute split across multiple extents, is | ||
97 | included. Another limitation is that write(2) will never create sparse | ||
98 | files, since to mark a file sparse we need to modify the directory entry for | ||
99 | the file and we do not implement directory modifications yet. | ||
82 | 100 | ||
83 | Supported mount options | 101 | Supported mount options |
84 | ======================= | 102 | ======================= |
@@ -439,6 +457,22 @@ ChangeLog | |||
439 | 457 | ||
440 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. | 458 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. |
441 | 459 | ||
460 | 2.1.25: | ||
461 | - Write support is now extended with write(2) being able to both | ||
462 | overwrite existing file data and to extend files. Also, if a write | ||
463 | to a sparse region occurs, write(2) will fill in the hole. Note, | ||
464 | mmap(2) based writes still do not support writing into holes or | ||
465 | writing beyond the initialized size. | ||
466 | - Write support has a new feature and that is that truncate(2) and | ||
467 | open(2) with O_TRUNC are now implemented thus files can be both made | ||
468 | smaller and larger. | ||
469 | - Note: Both write(2) and truncate(2)/open(2) with O_TRUNC still have | ||
470 | limitations in that they | ||
471 | - only provide limited support for highly fragmented files. | ||
472 | - only work on regular, i.e. uncompressed and unencrypted files. | ||
473 | - never create sparse files although this will change once directory | ||
474 | operations are implemented. | ||
475 | - Lots of bug fixes and enhancements across the board. | ||
442 | 2.1.24: | 476 | 2.1.24: |
443 | - Support journals ($LogFile) which have been modified by chkdsk. This | 477 | - Support journals ($LogFile) which have been modified by chkdsk. This |
444 | means users can boot into Windows after we marked the volume dirty. | 478 | means users can boot into Windows after we marked the volume dirty. |
diff --git a/Documentation/filesystems/xfs.txt b/Documentation/filesystems/xfs.txt index c7d5d0c7067d..74aeb142ae5f 100644 --- a/Documentation/filesystems/xfs.txt +++ b/Documentation/filesystems/xfs.txt | |||
@@ -19,15 +19,43 @@ Mount Options | |||
19 | 19 | ||
20 | When mounting an XFS filesystem, the following options are accepted. | 20 | When mounting an XFS filesystem, the following options are accepted. |
21 | 21 | ||
22 | biosize=size | 22 | allocsize=size |
23 | Sets the preferred buffered I/O size (default size is 64K). | 23 | Sets the buffered I/O end-of-file preallocation size when |
24 | "size" must be expressed as the logarithm (base2) of the | 24 | doing delayed allocation writeout (default size is 64KiB). |
25 | desired I/O size. | 25 | Valid values for this option are page size (typically 4KiB) |
26 | Valid values for this option are 14 through 16, inclusive | 26 | through to 1GiB, inclusive, in power-of-2 increments. |
27 | (i.e. 16K, 32K, and 64K bytes). On machines with a 4K | 27 | |
28 | pagesize, 13 (8K bytes) is also a valid size. | 28 | attr2/noattr2 |
29 | The preferred buffered I/O size can also be altered on an | 29 | The options enable/disable (default is disabled for backward |
30 | individual file basis using the ioctl(2) system call. | 30 | compatibility on-disk) an "opportunistic" improvement to be |
31 | made in the way inline extended attributes are stored on-disk. | ||
32 | When the new form is used for the first time (by setting or | ||
33 | removing extended attributes) the on-disk superblock feature | ||
34 | bit field will be updated to reflect this format being in use. | ||
35 | |||
36 | barrier | ||
37 | Enables the use of block layer write barriers for writes into | ||
38 | the journal and unwritten extent conversion. This allows for | ||
39 | drive level write caching to be enabled, for devices that | ||
40 | support write barriers. | ||
41 | |||
42 | dmapi | ||
43 | Enable the DMAPI (Data Management API) event callouts. | ||
44 | Use with the "mtpt" option. | ||
45 | |||
46 | grpid/bsdgroups and nogrpid/sysvgroups | ||
47 | These options define what group ID a newly created file gets. | ||
48 | When grpid is set, it takes the group ID of the directory in | ||
49 | which it is created; otherwise (the default) it takes the fsgid | ||
50 | of the current process, unless the directory has the setgid bit | ||
51 | set, in which case it takes the gid from the parent directory, | ||
52 | and also gets the setgid bit set if it is a directory itself. | ||
53 | |||
54 | ihashsize=value | ||
55 | Sets the number of hash buckets available for hashing the | ||
56 | in-memory inodes of the specified mount point. If a value | ||
57 | of zero is used, the value selected by the default algorithm | ||
58 | will be displayed in /proc/mounts. | ||
31 | 59 | ||
32 | ikeep/noikeep | 60 | ikeep/noikeep |
33 | When inode clusters are emptied of inodes, keep them around | 61 | When inode clusters are emptied of inodes, keep them around |
@@ -35,12 +63,31 @@ When mounting an XFS filesystem, the following options are accepted. | |||
35 | and is still the default for now. Using the noikeep option, | 63 | and is still the default for now. Using the noikeep option, |
36 | inode clusters are returned to the free space pool. | 64 | inode clusters are returned to the free space pool. |
37 | 65 | ||
66 | inode64 | ||
67 | Indicates that XFS is allowed to create inodes at any location | ||
68 | in the filesystem, including those which will result in inode | ||
69 | numbers occupying more than 32 bits of significance. This is | ||
70 | provided for backwards compatibility, but causes problems for | ||
71 | backup applications that cannot handle large inode numbers. | ||
72 | |||
73 | largeio/nolargeio | ||
74 | If "nolargeio" is specified, the optimal I/O reported in | ||
75 | st_blksize by stat(2) will be as small as possible to allow user | ||
76 | applications to avoid inefficient read/modify/write I/O. | ||
77 | If "largeio" specified, a filesystem that has a "swidth" specified | ||
78 | will return the "swidth" value (in bytes) in st_blksize. If the | ||
79 | filesystem does not have a "swidth" specified but does specify | ||
80 | an "allocsize" then "allocsize" (in bytes) will be returned | ||
81 | instead. | ||
82 | If neither of these two options are specified, then filesystem | ||
83 | will behave as if "nolargeio" was specified. | ||
84 | |||
38 | logbufs=value | 85 | logbufs=value |
39 | Set the number of in-memory log buffers. Valid numbers range | 86 | Set the number of in-memory log buffers. Valid numbers range |
40 | from 2-8 inclusive. | 87 | from 2-8 inclusive. |
41 | The default value is 8 buffers for filesystems with a | 88 | The default value is 8 buffers for filesystems with a |
42 | blocksize of 64K, 4 buffers for filesystems with a blocksize | 89 | blocksize of 64KiB, 4 buffers for filesystems with a blocksize |
43 | of 32K, 3 buffers for filesystems with a blocksize of 16K | 90 | of 32KiB, 3 buffers for filesystems with a blocksize of 16KiB |
44 | and 2 buffers for all other configurations. Increasing the | 91 | and 2 buffers for all other configurations. Increasing the |
45 | number of buffers may increase performance on some workloads | 92 | number of buffers may increase performance on some workloads |
46 | at the cost of the memory used for the additional log buffers | 93 | at the cost of the memory used for the additional log buffers |
@@ -49,10 +96,10 @@ When mounting an XFS filesystem, the following options are accepted. | |||
49 | logbsize=value | 96 | logbsize=value |
50 | Set the size of each in-memory log buffer. | 97 | Set the size of each in-memory log buffer. |
51 | Size may be specified in bytes, or in kilobytes with a "k" suffix. | 98 | Size may be specified in bytes, or in kilobytes with a "k" suffix. |
52 | Valid sizes for version 1 and version 2 logs are 16384 (16k) and | 99 | Valid sizes for version 1 and version 2 logs are 16384 (16k) and |
53 | 32768 (32k). Valid sizes for version 2 logs also include | 100 | 32768 (32k). Valid sizes for version 2 logs also include |
54 | 65536 (64k), 131072 (128k) and 262144 (256k). | 101 | 65536 (64k), 131072 (128k) and 262144 (256k). |
55 | The default value for machines with more than 32MB of memory | 102 | The default value for machines with more than 32MiB of memory |
56 | is 32768, machines with less memory use 16384 by default. | 103 | is 32768, machines with less memory use 16384 by default. |
57 | 104 | ||
58 | logdev=device and rtdev=device | 105 | logdev=device and rtdev=device |
@@ -62,6 +109,11 @@ When mounting an XFS filesystem, the following options are accepted. | |||
62 | optional, and the log section can be separate from the data | 109 | optional, and the log section can be separate from the data |
63 | section or contained within it. | 110 | section or contained within it. |
64 | 111 | ||
112 | mtpt=mountpoint | ||
113 | Use with the "dmapi" option. The value specified here will be | ||
114 | included in the DMAPI mount event, and should be the path of | ||
115 | the actual mountpoint that is used. | ||
116 | |||
65 | noalign | 117 | noalign |
66 | Data allocations will not be aligned at stripe unit boundaries. | 118 | Data allocations will not be aligned at stripe unit boundaries. |
67 | 119 | ||
@@ -91,13 +143,17 @@ When mounting an XFS filesystem, the following options are accepted. | |||
91 | O_SYNC writes can be lost if the system crashes. | 143 | O_SYNC writes can be lost if the system crashes. |
92 | If timestamp updates are critical, use the osyncisosync option. | 144 | If timestamp updates are critical, use the osyncisosync option. |
93 | 145 | ||
94 | quota/usrquota/uqnoenforce | 146 | uquota/usrquota/uqnoenforce/quota |
95 | User disk quota accounting enabled, and limits (optionally) | 147 | User disk quota accounting enabled, and limits (optionally) |
96 | enforced. | 148 | enforced. Refer to xfs_quota(8) for further details. |
97 | 149 | ||
98 | grpquota/gqnoenforce | 150 | gquota/grpquota/gqnoenforce |
99 | Group disk quota accounting enabled and limits (optionally) | 151 | Group disk quota accounting enabled and limits (optionally) |
100 | enforced. | 152 | enforced. Refer to xfs_quota(8) for further details. |
153 | |||
154 | pquota/prjquota/pqnoenforce | ||
155 | Project disk quota accounting enabled and limits (optionally) | ||
156 | enforced. Refer to xfs_quota(8) for further details. | ||
101 | 157 | ||
102 | sunit=value and swidth=value | 158 | sunit=value and swidth=value |
103 | Used to specify the stripe unit and width for a RAID device or | 159 | Used to specify the stripe unit and width for a RAID device or |
@@ -113,15 +169,21 @@ When mounting an XFS filesystem, the following options are accepted. | |||
113 | The "swidth" option is required if the "sunit" option has been | 169 | The "swidth" option is required if the "sunit" option has been |
114 | specified, and must be a multiple of the "sunit" value. | 170 | specified, and must be a multiple of the "sunit" value. |
115 | 171 | ||
172 | swalloc | ||
173 | Data allocations will be rounded up to stripe width boundaries | ||
174 | when the current end of file is being extended and the file | ||
175 | size is larger than the stripe width size. | ||
176 | |||
177 | |||
116 | sysctls | 178 | sysctls |
117 | ======= | 179 | ======= |
118 | 180 | ||
119 | The following sysctls are available for the XFS filesystem: | 181 | The following sysctls are available for the XFS filesystem: |
120 | 182 | ||
121 | fs.xfs.stats_clear (Min: 0 Default: 0 Max: 1) | 183 | fs.xfs.stats_clear (Min: 0 Default: 0 Max: 1) |
122 | Setting this to "1" clears accumulated XFS statistics | 184 | Setting this to "1" clears accumulated XFS statistics |
123 | in /proc/fs/xfs/stat. It then immediately resets to "0". | 185 | in /proc/fs/xfs/stat. It then immediately resets to "0". |
124 | 186 | ||
125 | fs.xfs.xfssyncd_centisecs (Min: 100 Default: 3000 Max: 720000) | 187 | fs.xfs.xfssyncd_centisecs (Min: 100 Default: 3000 Max: 720000) |
126 | The interval at which the xfssyncd thread flushes metadata | 188 | The interval at which the xfssyncd thread flushes metadata |
127 | out to disk. This thread will flush log activity out, and | 189 | out to disk. This thread will flush log activity out, and |
@@ -143,9 +205,9 @@ The following sysctls are available for the XFS filesystem: | |||
143 | XFS_ERRLEVEL_HIGH: 5 | 205 | XFS_ERRLEVEL_HIGH: 5 |
144 | 206 | ||
145 | fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127) | 207 | fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127) |
146 | Causes certain error conditions to call BUG(). Value is a bitmask; | 208 | Causes certain error conditions to call BUG(). Value is a bitmask; |
147 | AND together the tags which represent errors which should cause panics: | 209 | AND together the tags which represent errors which should cause panics: |
148 | 210 | ||
149 | XFS_NO_PTAG 0 | 211 | XFS_NO_PTAG 0 |
150 | XFS_PTAG_IFLUSH 0x00000001 | 212 | XFS_PTAG_IFLUSH 0x00000001 |
151 | XFS_PTAG_LOGRES 0x00000002 | 213 | XFS_PTAG_LOGRES 0x00000002 |
@@ -155,7 +217,7 @@ The following sysctls are available for the XFS filesystem: | |||
155 | XFS_PTAG_SHUTDOWN_IOERROR 0x00000020 | 217 | XFS_PTAG_SHUTDOWN_IOERROR 0x00000020 |
156 | XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040 | 218 | XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040 |
157 | 219 | ||
158 | This option is intended for debugging only. | 220 | This option is intended for debugging only. |
159 | 221 | ||
160 | fs.xfs.irix_symlink_mode (Min: 0 Default: 0 Max: 1) | 222 | fs.xfs.irix_symlink_mode (Min: 0 Default: 0 Max: 1) |
161 | Controls whether symlinks are created with mode 0777 (default) | 223 | Controls whether symlinks are created with mode 0777 (default) |
@@ -164,25 +226,37 @@ The following sysctls are available for the XFS filesystem: | |||
164 | fs.xfs.irix_sgid_inherit (Min: 0 Default: 0 Max: 1) | 226 | fs.xfs.irix_sgid_inherit (Min: 0 Default: 0 Max: 1) |
165 | Controls files created in SGID directories. | 227 | Controls files created in SGID directories. |
166 | If the group ID of the new file does not match the effective group | 228 | If the group ID of the new file does not match the effective group |
167 | ID or one of the supplementary group IDs of the parent dir, the | 229 | ID or one of the supplementary group IDs of the parent dir, the |
168 | ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl | 230 | ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl |
169 | is set. | 231 | is set. |
170 | 232 | ||
171 | fs.xfs.restrict_chown (Min: 0 Default: 1 Max: 1) | 233 | fs.xfs.restrict_chown (Min: 0 Default: 1 Max: 1) |
172 | Controls whether unprivileged users can use chown to "give away" | 234 | Controls whether unprivileged users can use chown to "give away" |
173 | a file to another user. | 235 | a file to another user. |
174 | 236 | ||
175 | fs.xfs.inherit_sync (Min: 0 Default: 1 Max 1) | 237 | fs.xfs.inherit_sync (Min: 0 Default: 1 Max: 1) |
176 | Setting this to "1" will cause the "sync" flag set | 238 | Setting this to "1" will cause the "sync" flag set |
177 | by the chattr(1) command on a directory to be | 239 | by the xfs_io(8) chattr command on a directory to be |
178 | inherited by files in that directory. | 240 | inherited by files in that directory. |
179 | 241 | ||
180 | fs.xfs.inherit_nodump (Min: 0 Default: 1 Max 1) | 242 | fs.xfs.inherit_nodump (Min: 0 Default: 1 Max: 1) |
181 | Setting this to "1" will cause the "nodump" flag set | 243 | Setting this to "1" will cause the "nodump" flag set |
182 | by the chattr(1) command on a directory to be | 244 | by the xfs_io(8) chattr command on a directory to be |
183 | inherited by files in that directory. | 245 | inherited by files in that directory. |
184 | 246 | ||
185 | fs.xfs.inherit_noatime (Min: 0 Default: 1 Max 1) | 247 | fs.xfs.inherit_noatime (Min: 0 Default: 1 Max: 1) |
186 | Setting this to "1" will cause the "noatime" flag set | 248 | Setting this to "1" will cause the "noatime" flag set |
187 | by the chattr(1) command on a directory to be | 249 | by the xfs_io(8) chattr command on a directory to be |
188 | inherited by files in that directory. | 250 | inherited by files in that directory. |
251 | |||
252 | fs.xfs.inherit_nosymlinks (Min: 0 Default: 1 Max: 1) | ||
253 | Setting this to "1" will cause the "nosymlinks" flag set | ||
254 | by the xfs_io(8) chattr command on a directory to be | ||
255 | inherited by files in that directory. | ||
256 | |||
257 | fs.xfs.rotorstep (Min: 1 Default: 1 Max: 256) | ||
258 | In "inode32" allocation mode, this option determines how many | ||
259 | files the allocator attempts to allocate in the same allocation | ||
260 | group before moving to the next allocation group. The intent | ||
261 | is to control the rate at which the allocator moves between | ||
262 | allocation groups when allocating extents for new files. | ||
diff --git a/Documentation/firmware_class/firmware_sample_driver.c b/Documentation/firmware_class/firmware_sample_driver.c index 4bef8c25172c..d3ad2c24490a 100644 --- a/Documentation/firmware_class/firmware_sample_driver.c +++ b/Documentation/firmware_class/firmware_sample_driver.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/device.h> | 15 | #include <linux/device.h> |
16 | #include <linux/string.h> | ||
16 | 17 | ||
17 | #include "linux/firmware.h" | 18 | #include "linux/firmware.h" |
18 | 19 | ||
diff --git a/Documentation/firmware_class/firmware_sample_firmware_class.c b/Documentation/firmware_class/firmware_sample_firmware_class.c index 09eab2f1b373..57b956aecbc5 100644 --- a/Documentation/firmware_class/firmware_sample_firmware_class.c +++ b/Documentation/firmware_class/firmware_sample_firmware_class.c | |||
@@ -14,6 +14,8 @@ | |||
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/timer.h> | 16 | #include <linux/timer.h> |
17 | #include <linux/slab.h> | ||
18 | #include <linux/string.h> | ||
17 | #include <linux/firmware.h> | 19 | #include <linux/firmware.h> |
18 | 20 | ||
19 | 21 | ||
diff --git a/Documentation/i2c/writing-clients b/Documentation/i2c/writing-clients index e94d9c6cc522..cff7b652588a 100644 --- a/Documentation/i2c/writing-clients +++ b/Documentation/i2c/writing-clients | |||
@@ -273,6 +273,7 @@ For now, you can ignore the `flags' parameter. It is there for future use. | |||
273 | if (is_isa) { | 273 | if (is_isa) { |
274 | 274 | ||
275 | /* Discard immediately if this ISA range is already used */ | 275 | /* Discard immediately if this ISA range is already used */ |
276 | /* FIXME: never use check_region(), only request_region() */ | ||
276 | if (check_region(address,FOO_EXTENT)) | 277 | if (check_region(address,FOO_EXTENT)) |
277 | goto ERROR0; | 278 | goto ERROR0; |
278 | 279 | ||
diff --git a/Documentation/keys.txt b/Documentation/keys.txt index 4afe03a58c5b..31154882000a 100644 --- a/Documentation/keys.txt +++ b/Documentation/keys.txt | |||
@@ -196,7 +196,7 @@ KEY ACCESS PERMISSIONS | |||
196 | 196 | ||
197 | Keys have an owner user ID, a group access ID, and a permissions mask. The mask | 197 | Keys have an owner user ID, a group access ID, and a permissions mask. The mask |
198 | has up to eight bits each for possessor, user, group and other access. Only | 198 | has up to eight bits each for possessor, user, group and other access. Only |
199 | five of each set of eight bits are defined. These permissions granted are: | 199 | six of each set of eight bits are defined. These permissions granted are: |
200 | 200 | ||
201 | (*) View | 201 | (*) View |
202 | 202 | ||
@@ -224,6 +224,10 @@ five of each set of eight bits are defined. These permissions granted are: | |||
224 | keyring to a key, a process must have Write permission on the keyring and | 224 | keyring to a key, a process must have Write permission on the keyring and |
225 | Link permission on the key. | 225 | Link permission on the key. |
226 | 226 | ||
227 | (*) Set Attribute | ||
228 | |||
229 | This permits a key's UID, GID and permissions mask to be changed. | ||
230 | |||
227 | For changing the ownership, group ID or permissions mask, being the owner of | 231 | For changing the ownership, group ID or permissions mask, being the owner of |
228 | the key or having the sysadmin capability is sufficient. | 232 | the key or having the sysadmin capability is sufficient. |
229 | 233 | ||
@@ -242,15 +246,15 @@ about the status of the key service: | |||
242 | this way: | 246 | this way: |
243 | 247 | ||
244 | SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY | 248 | SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY |
245 | 00000001 I----- 39 perm 1f1f0000 0 0 keyring _uid_ses.0: 1/4 | 249 | 00000001 I----- 39 perm 1f3f0000 0 0 keyring _uid_ses.0: 1/4 |
246 | 00000002 I----- 2 perm 1f1f0000 0 0 keyring _uid.0: empty | 250 | 00000002 I----- 2 perm 1f3f0000 0 0 keyring _uid.0: empty |
247 | 00000007 I----- 1 perm 1f1f0000 0 0 keyring _pid.1: empty | 251 | 00000007 I----- 1 perm 1f3f0000 0 0 keyring _pid.1: empty |
248 | 0000018d I----- 1 perm 1f1f0000 0 0 keyring _pid.412: empty | 252 | 0000018d I----- 1 perm 1f3f0000 0 0 keyring _pid.412: empty |
249 | 000004d2 I--Q-- 1 perm 1f1f0000 32 -1 keyring _uid.32: 1/4 | 253 | 000004d2 I--Q-- 1 perm 1f3f0000 32 -1 keyring _uid.32: 1/4 |
250 | 000004d3 I--Q-- 3 perm 1f1f0000 32 -1 keyring _uid_ses.32: empty | 254 | 000004d3 I--Q-- 3 perm 1f3f0000 32 -1 keyring _uid_ses.32: empty |
251 | 00000892 I--QU- 1 perm 1f000000 0 0 user metal:copper: 0 | 255 | 00000892 I--QU- 1 perm 1f000000 0 0 user metal:copper: 0 |
252 | 00000893 I--Q-N 1 35s 1f1f0000 0 0 user metal:silver: 0 | 256 | 00000893 I--Q-N 1 35s 1f3f0000 0 0 user metal:silver: 0 |
253 | 00000894 I--Q-- 1 10h 001f0000 0 0 user metal:gold: 0 | 257 | 00000894 I--Q-- 1 10h 003f0000 0 0 user metal:gold: 0 |
254 | 258 | ||
255 | The flags are: | 259 | The flags are: |
256 | 260 | ||
diff --git a/Documentation/scsi/LICENSE.qla2xxx b/Documentation/scsi/LICENSE.qla2xxx new file mode 100644 index 000000000000..9e15b4f9cd28 --- /dev/null +++ b/Documentation/scsi/LICENSE.qla2xxx | |||
@@ -0,0 +1,45 @@ | |||
1 | Copyright (c) 2003-2005 QLogic Corporation | ||
2 | QLogic Linux Fibre Channel HBA Driver | ||
3 | |||
4 | This program includes a device driver for Linux 2.6 that may be | ||
5 | distributed with QLogic hardware specific firmware binary file. | ||
6 | You may modify and redistribute the device driver code under the | ||
7 | GNU General Public License as published by the Free Software | ||
8 | Foundation (version 2 or a later version). | ||
9 | |||
10 | You may redistribute the hardware specific firmware binary file | ||
11 | under the following terms: | ||
12 | |||
13 | 1. Redistribution of source code (only if applicable), | ||
14 | must retain the above copyright notice, this list of | ||
15 | conditions and the following disclaimer. | ||
16 | |||
17 | 2. Redistribution in binary form must reproduce the above | ||
18 | copyright notice, this list of conditions and the | ||
19 | following disclaimer in the documentation and/or other | ||
20 | materials provided with the distribution. | ||
21 | |||
22 | 3. The name of QLogic Corporation may not be used to | ||
23 | endorse or promote products derived from this software | ||
24 | without specific prior written permission | ||
25 | |||
26 | REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
27 | THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
28 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
30 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
31 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
32 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
33 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
35 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
36 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
37 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
38 | POSSIBILITY OF SUCH DAMAGE. | ||
39 | |||
40 | USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
41 | CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
42 | OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
43 | TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
44 | ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
45 | COMBINATION WITH THIS PROGRAM. | ||
diff --git a/Documentation/serial/driver b/Documentation/serial/driver index 87856d3cfb67..42ef9970bc86 100644 --- a/Documentation/serial/driver +++ b/Documentation/serial/driver | |||
@@ -116,12 +116,15 @@ hardware. | |||
116 | line becoming inactive or the tty layer indicating we want | 116 | line becoming inactive or the tty layer indicating we want |
117 | to stop transmission due to an XOFF character. | 117 | to stop transmission due to an XOFF character. |
118 | 118 | ||
119 | The driver should stop transmitting characters as soon as | ||
120 | possible. | ||
121 | |||
119 | Locking: port->lock taken. | 122 | Locking: port->lock taken. |
120 | Interrupts: locally disabled. | 123 | Interrupts: locally disabled. |
121 | This call must not sleep | 124 | This call must not sleep |
122 | 125 | ||
123 | start_tx(port) | 126 | start_tx(port) |
124 | start transmitting characters. | 127 | Start transmitting characters. |
125 | 128 | ||
126 | Locking: port->lock taken. | 129 | Locking: port->lock taken. |
127 | Interrupts: locally disabled. | 130 | Interrupts: locally disabled. |
@@ -281,26 +284,31 @@ hardware. | |||
281 | Other functions | 284 | Other functions |
282 | --------------- | 285 | --------------- |
283 | 286 | ||
284 | uart_update_timeout(port,cflag,quot) | 287 | uart_update_timeout(port,cflag,baud) |
285 | Update the FIFO drain timeout, port->timeout, according to the | 288 | Update the FIFO drain timeout, port->timeout, according to the |
286 | number of bits, parity, stop bits and quotient. | 289 | number of bits, parity, stop bits and baud rate. |
287 | 290 | ||
288 | Locking: caller is expected to take port->lock | 291 | Locking: caller is expected to take port->lock |
289 | Interrupts: n/a | 292 | Interrupts: n/a |
290 | 293 | ||
291 | uart_get_baud_rate(port,termios) | 294 | uart_get_baud_rate(port,termios,old,min,max) |
292 | Return the numeric baud rate for the specified termios, taking | 295 | Return the numeric baud rate for the specified termios, taking |
293 | account of the special 38400 baud "kludge". The B0 baud rate | 296 | account of the special 38400 baud "kludge". The B0 baud rate |
294 | is mapped to 9600 baud. | 297 | is mapped to 9600 baud. |
295 | 298 | ||
299 | If the baud rate is not within min..max, then if old is non-NULL, | ||
300 | the original baud rate will be tried. If that exceeds the | ||
301 | min..max constraint, 9600 baud will be returned. termios will | ||
302 | be updated to the baud rate in use. | ||
303 | |||
304 | Note: min..max must always allow 9600 baud to be selected. | ||
305 | |||
296 | Locking: caller dependent. | 306 | Locking: caller dependent. |
297 | Interrupts: n/a | 307 | Interrupts: n/a |
298 | 308 | ||
299 | uart_get_divisor(port,termios,oldtermios) | 309 | uart_get_divisor(port,baud) |
300 | Return the divsor (baud_base / baud) for the selected baud rate | 310 | Return the divsor (baud_base / baud) for the specified baud |
301 | specified by termios. If the baud rate is out of range, try | 311 | rate, appropriately rounded. |
302 | the original baud rate specified by oldtermios (if non-NULL). | ||
303 | If that fails, try 9600 baud. | ||
304 | 312 | ||
305 | If 38400 baud and custom divisor is selected, return the | 313 | If 38400 baud and custom divisor is selected, return the |
306 | custom divisor instead. | 314 | custom divisor instead. |
@@ -308,6 +316,46 @@ uart_get_divisor(port,termios,oldtermios) | |||
308 | Locking: caller dependent. | 316 | Locking: caller dependent. |
309 | Interrupts: n/a | 317 | Interrupts: n/a |
310 | 318 | ||
319 | uart_match_port(port1,port2) | ||
320 | This utility function can be used to determine whether two | ||
321 | uart_port structures describe the same port. | ||
322 | |||
323 | Locking: n/a | ||
324 | Interrupts: n/a | ||
325 | |||
326 | uart_write_wakeup(port) | ||
327 | A driver is expected to call this function when the number of | ||
328 | characters in the transmit buffer have dropped below a threshold. | ||
329 | |||
330 | Locking: port->lock should be held. | ||
331 | Interrupts: n/a | ||
332 | |||
333 | uart_register_driver(drv) | ||
334 | Register a uart driver with the core driver. We in turn register | ||
335 | with the tty layer, and initialise the core driver per-port state. | ||
336 | |||
337 | drv->port should be NULL, and the per-port structures should be | ||
338 | registered using uart_add_one_port after this call has succeeded. | ||
339 | |||
340 | Locking: none | ||
341 | Interrupts: enabled | ||
342 | |||
343 | uart_unregister_driver() | ||
344 | Remove all references to a driver from the core driver. The low | ||
345 | level driver must have removed all its ports via the | ||
346 | uart_remove_one_port() if it registered them with uart_add_one_port(). | ||
347 | |||
348 | Locking: none | ||
349 | Interrupts: enabled | ||
350 | |||
351 | uart_suspend_port() | ||
352 | |||
353 | uart_resume_port() | ||
354 | |||
355 | uart_add_one_port() | ||
356 | |||
357 | uart_remove_one_port() | ||
358 | |||
311 | Other notes | 359 | Other notes |
312 | ----------- | 360 | ----------- |
313 | 361 | ||