Commit f0c8bd164e1a0585d7e46896553136b4f488bd19
Committed by
Linus Torvalds
1 parent
4e6fd33b75
Exists in
master
and in
39 other branches
[PATCH] Generic infrastructure for acls
The patches solve the following problem: We want to grant access to devices based on who is logged in from where, etc. This includes switching back and forth between multiple user sessions, etc. Using ACLs to define device access for logged-in users gives us all the flexibility we need in order to fully solve the problem. Device special files nowadays usually live on tmpfs, hence tmpfs ACLs. Different distros have come up with solutions that solve the problem to different degrees: SUSE uses a resource manager which tracks login sessions and sets ACLs on device inodes as appropriate. RedHat uses pam_console, which changes the primary file ownership to the logged-in user. Others use a set of groups that users must be in in order to be granted the appropriate accesses. The freedesktop.org project plans to implement a combination of a console-tracker and a HAL-device-list based solution to grant access to devices to users, and more distros will likely follow this approach. These patches have first been posted here on 2 February 2005, and again on 8 January 2006. We have been shipping them in SLES9 and SLES10 with no problems reported. The previous submission is archived here: http://lkml.org/lkml/2006/1/8/229 http://lkml.org/lkml/2006/1/8/230 http://lkml.org/lkml/2006/1/8/231 This patch: Add some infrastructure for access control lists on in-memory filesystems such as tmpfs. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 4 changed files with 238 additions and 0 deletions Inline Diff
fs/Kconfig
1 | # | 1 | # |
2 | # File system configuration | 2 | # File system configuration |
3 | # | 3 | # |
4 | 4 | ||
5 | menu "File systems" | 5 | menu "File systems" |
6 | 6 | ||
7 | config EXT2_FS | 7 | config EXT2_FS |
8 | tristate "Second extended fs support" | 8 | tristate "Second extended fs support" |
9 | help | 9 | help |
10 | Ext2 is a standard Linux file system for hard disks. | 10 | Ext2 is a standard Linux file system for hard disks. |
11 | 11 | ||
12 | To compile this file system support as a module, choose M here: the | 12 | To compile this file system support as a module, choose M here: the |
13 | module will be called ext2. Be aware however that the file system | 13 | module will be called ext2. Be aware however that the file system |
14 | of your root partition (the one containing the directory /) cannot | 14 | of your root partition (the one containing the directory /) cannot |
15 | be compiled as a module, and so this could be dangerous. | 15 | be compiled as a module, and so this could be dangerous. |
16 | 16 | ||
17 | If unsure, say Y. | 17 | If unsure, say Y. |
18 | 18 | ||
19 | config EXT2_FS_XATTR | 19 | config EXT2_FS_XATTR |
20 | bool "Ext2 extended attributes" | 20 | bool "Ext2 extended attributes" |
21 | depends on EXT2_FS | 21 | depends on EXT2_FS |
22 | help | 22 | help |
23 | Extended attributes are name:value pairs associated with inodes by | 23 | Extended attributes are name:value pairs associated with inodes by |
24 | the kernel or by users (see the attr(5) manual page, or visit | 24 | the kernel or by users (see the attr(5) manual page, or visit |
25 | <http://acl.bestbits.at/> for details). | 25 | <http://acl.bestbits.at/> for details). |
26 | 26 | ||
27 | If unsure, say N. | 27 | If unsure, say N. |
28 | 28 | ||
29 | config EXT2_FS_POSIX_ACL | 29 | config EXT2_FS_POSIX_ACL |
30 | bool "Ext2 POSIX Access Control Lists" | 30 | bool "Ext2 POSIX Access Control Lists" |
31 | depends on EXT2_FS_XATTR | 31 | depends on EXT2_FS_XATTR |
32 | select FS_POSIX_ACL | 32 | select FS_POSIX_ACL |
33 | help | 33 | help |
34 | Posix Access Control Lists (ACLs) support permissions for users and | 34 | Posix Access Control Lists (ACLs) support permissions for users and |
35 | groups beyond the owner/group/world scheme. | 35 | groups beyond the owner/group/world scheme. |
36 | 36 | ||
37 | To learn more about Access Control Lists, visit the Posix ACLs for | 37 | To learn more about Access Control Lists, visit the Posix ACLs for |
38 | Linux website <http://acl.bestbits.at/>. | 38 | Linux website <http://acl.bestbits.at/>. |
39 | 39 | ||
40 | If you don't know what Access Control Lists are, say N | 40 | If you don't know what Access Control Lists are, say N |
41 | 41 | ||
42 | config EXT2_FS_SECURITY | 42 | config EXT2_FS_SECURITY |
43 | bool "Ext2 Security Labels" | 43 | bool "Ext2 Security Labels" |
44 | depends on EXT2_FS_XATTR | 44 | depends on EXT2_FS_XATTR |
45 | help | 45 | help |
46 | Security labels support alternative access control models | 46 | Security labels support alternative access control models |
47 | implemented by security modules like SELinux. This option | 47 | implemented by security modules like SELinux. This option |
48 | enables an extended attribute handler for file security | 48 | enables an extended attribute handler for file security |
49 | labels in the ext2 filesystem. | 49 | labels in the ext2 filesystem. |
50 | 50 | ||
51 | If you are not using a security module that requires using | 51 | If you are not using a security module that requires using |
52 | extended attributes for file security labels, say N. | 52 | extended attributes for file security labels, say N. |
53 | 53 | ||
54 | config EXT2_FS_XIP | 54 | config EXT2_FS_XIP |
55 | bool "Ext2 execute in place support" | 55 | bool "Ext2 execute in place support" |
56 | depends on EXT2_FS && MMU | 56 | depends on EXT2_FS && MMU |
57 | help | 57 | help |
58 | Execute in place can be used on memory-backed block devices. If you | 58 | Execute in place can be used on memory-backed block devices. If you |
59 | enable this option, you can select to mount block devices which are | 59 | enable this option, you can select to mount block devices which are |
60 | capable of this feature without using the page cache. | 60 | capable of this feature without using the page cache. |
61 | 61 | ||
62 | If you do not use a block device that is capable of using this, | 62 | If you do not use a block device that is capable of using this, |
63 | or if unsure, say N. | 63 | or if unsure, say N. |
64 | 64 | ||
65 | config FS_XIP | 65 | config FS_XIP |
66 | # execute in place | 66 | # execute in place |
67 | bool | 67 | bool |
68 | depends on EXT2_FS_XIP | 68 | depends on EXT2_FS_XIP |
69 | default y | 69 | default y |
70 | 70 | ||
71 | config EXT3_FS | 71 | config EXT3_FS |
72 | tristate "Ext3 journalling file system support" | 72 | tristate "Ext3 journalling file system support" |
73 | select JBD | 73 | select JBD |
74 | help | 74 | help |
75 | This is the journaling version of the Second extended file system | 75 | This is the journaling version of the Second extended file system |
76 | (often called ext3), the de facto standard Linux file system | 76 | (often called ext3), the de facto standard Linux file system |
77 | (method to organize files on a storage device) for hard disks. | 77 | (method to organize files on a storage device) for hard disks. |
78 | 78 | ||
79 | The journaling code included in this driver means you do not have | 79 | The journaling code included in this driver means you do not have |
80 | to run e2fsck (file system checker) on your file systems after a | 80 | to run e2fsck (file system checker) on your file systems after a |
81 | crash. The journal keeps track of any changes that were being made | 81 | crash. The journal keeps track of any changes that were being made |
82 | at the time the system crashed, and can ensure that your file system | 82 | at the time the system crashed, and can ensure that your file system |
83 | is consistent without the need for a lengthy check. | 83 | is consistent without the need for a lengthy check. |
84 | 84 | ||
85 | Other than adding the journal to the file system, the on-disk format | 85 | Other than adding the journal to the file system, the on-disk format |
86 | of ext3 is identical to ext2. It is possible to freely switch | 86 | of ext3 is identical to ext2. It is possible to freely switch |
87 | between using the ext3 driver and the ext2 driver, as long as the | 87 | between using the ext3 driver and the ext2 driver, as long as the |
88 | file system has been cleanly unmounted, or e2fsck is run on the file | 88 | file system has been cleanly unmounted, or e2fsck is run on the file |
89 | system. | 89 | system. |
90 | 90 | ||
91 | To add a journal on an existing ext2 file system or change the | 91 | To add a journal on an existing ext2 file system or change the |
92 | behavior of ext3 file systems, you can use the tune2fs utility ("man | 92 | behavior of ext3 file systems, you can use the tune2fs utility ("man |
93 | tune2fs"). To modify attributes of files and directories on ext3 | 93 | tune2fs"). To modify attributes of files and directories on ext3 |
94 | file systems, use chattr ("man chattr"). You need to be using | 94 | file systems, use chattr ("man chattr"). You need to be using |
95 | e2fsprogs version 1.20 or later in order to create ext3 journals | 95 | e2fsprogs version 1.20 or later in order to create ext3 journals |
96 | (available at <http://sourceforge.net/projects/e2fsprogs/>). | 96 | (available at <http://sourceforge.net/projects/e2fsprogs/>). |
97 | 97 | ||
98 | To compile this file system support as a module, choose M here: the | 98 | To compile this file system support as a module, choose M here: the |
99 | module will be called ext3. Be aware however that the file system | 99 | module will be called ext3. Be aware however that the file system |
100 | of your root partition (the one containing the directory /) cannot | 100 | of your root partition (the one containing the directory /) cannot |
101 | be compiled as a module, and so this may be dangerous. | 101 | be compiled as a module, and so this may be dangerous. |
102 | 102 | ||
103 | config EXT3_FS_XATTR | 103 | config EXT3_FS_XATTR |
104 | bool "Ext3 extended attributes" | 104 | bool "Ext3 extended attributes" |
105 | depends on EXT3_FS | 105 | depends on EXT3_FS |
106 | default y | 106 | default y |
107 | help | 107 | help |
108 | Extended attributes are name:value pairs associated with inodes by | 108 | Extended attributes are name:value pairs associated with inodes by |
109 | the kernel or by users (see the attr(5) manual page, or visit | 109 | the kernel or by users (see the attr(5) manual page, or visit |
110 | <http://acl.bestbits.at/> for details). | 110 | <http://acl.bestbits.at/> for details). |
111 | 111 | ||
112 | If unsure, say N. | 112 | If unsure, say N. |
113 | 113 | ||
114 | You need this for POSIX ACL support on ext3. | 114 | You need this for POSIX ACL support on ext3. |
115 | 115 | ||
116 | config EXT3_FS_POSIX_ACL | 116 | config EXT3_FS_POSIX_ACL |
117 | bool "Ext3 POSIX Access Control Lists" | 117 | bool "Ext3 POSIX Access Control Lists" |
118 | depends on EXT3_FS_XATTR | 118 | depends on EXT3_FS_XATTR |
119 | select FS_POSIX_ACL | 119 | select FS_POSIX_ACL |
120 | help | 120 | help |
121 | Posix Access Control Lists (ACLs) support permissions for users and | 121 | Posix Access Control Lists (ACLs) support permissions for users and |
122 | groups beyond the owner/group/world scheme. | 122 | groups beyond the owner/group/world scheme. |
123 | 123 | ||
124 | To learn more about Access Control Lists, visit the Posix ACLs for | 124 | To learn more about Access Control Lists, visit the Posix ACLs for |
125 | Linux website <http://acl.bestbits.at/>. | 125 | Linux website <http://acl.bestbits.at/>. |
126 | 126 | ||
127 | If you don't know what Access Control Lists are, say N | 127 | If you don't know what Access Control Lists are, say N |
128 | 128 | ||
129 | config EXT3_FS_SECURITY | 129 | config EXT3_FS_SECURITY |
130 | bool "Ext3 Security Labels" | 130 | bool "Ext3 Security Labels" |
131 | depends on EXT3_FS_XATTR | 131 | depends on EXT3_FS_XATTR |
132 | help | 132 | help |
133 | Security labels support alternative access control models | 133 | Security labels support alternative access control models |
134 | implemented by security modules like SELinux. This option | 134 | implemented by security modules like SELinux. This option |
135 | enables an extended attribute handler for file security | 135 | enables an extended attribute handler for file security |
136 | labels in the ext3 filesystem. | 136 | labels in the ext3 filesystem. |
137 | 137 | ||
138 | If you are not using a security module that requires using | 138 | If you are not using a security module that requires using |
139 | extended attributes for file security labels, say N. | 139 | extended attributes for file security labels, say N. |
140 | 140 | ||
141 | config JBD | 141 | config JBD |
142 | tristate | 142 | tristate |
143 | help | 143 | help |
144 | This is a generic journaling layer for block devices. It is | 144 | This is a generic journaling layer for block devices. It is |
145 | currently used by the ext3 and OCFS2 file systems, but it could | 145 | currently used by the ext3 and OCFS2 file systems, but it could |
146 | also be used to add journal support to other file systems or block | 146 | also be used to add journal support to other file systems or block |
147 | devices such as RAID or LVM. | 147 | devices such as RAID or LVM. |
148 | 148 | ||
149 | If you are using the ext3 or OCFS2 file systems, you need to | 149 | If you are using the ext3 or OCFS2 file systems, you need to |
150 | say Y here. If you are not using ext3 OCFS2 then you will probably | 150 | say Y here. If you are not using ext3 OCFS2 then you will probably |
151 | want to say N. | 151 | want to say N. |
152 | 152 | ||
153 | To compile this device as a module, choose M here: the module will be | 153 | To compile this device as a module, choose M here: the module will be |
154 | called jbd. If you are compiling ext3 or OCFS2 into the kernel, | 154 | called jbd. If you are compiling ext3 or OCFS2 into the kernel, |
155 | you cannot compile this code as a module. | 155 | you cannot compile this code as a module. |
156 | 156 | ||
157 | config JBD_DEBUG | 157 | config JBD_DEBUG |
158 | bool "JBD (ext3) debugging support" | 158 | bool "JBD (ext3) debugging support" |
159 | depends on JBD | 159 | depends on JBD |
160 | help | 160 | help |
161 | If you are using the ext3 journaled file system (or potentially any | 161 | If you are using the ext3 journaled file system (or potentially any |
162 | other file system/device using JBD), this option allows you to | 162 | other file system/device using JBD), this option allows you to |
163 | enable debugging output while the system is running, in order to | 163 | enable debugging output while the system is running, in order to |
164 | help track down any problems you are having. By default the | 164 | help track down any problems you are having. By default the |
165 | debugging output will be turned off. | 165 | debugging output will be turned off. |
166 | 166 | ||
167 | If you select Y here, then you will be able to turn on debugging | 167 | If you select Y here, then you will be able to turn on debugging |
168 | with "echo N > /proc/sys/fs/jbd-debug", where N is a number between | 168 | with "echo N > /proc/sys/fs/jbd-debug", where N is a number between |
169 | 1 and 5, the higher the number, the more debugging output is | 169 | 1 and 5, the higher the number, the more debugging output is |
170 | generated. To turn debugging off again, do | 170 | generated. To turn debugging off again, do |
171 | "echo 0 > /proc/sys/fs/jbd-debug". | 171 | "echo 0 > /proc/sys/fs/jbd-debug". |
172 | 172 | ||
173 | config FS_MBCACHE | 173 | config FS_MBCACHE |
174 | # Meta block cache for Extended Attributes (ext2/ext3) | 174 | # Meta block cache for Extended Attributes (ext2/ext3) |
175 | tristate | 175 | tristate |
176 | depends on EXT2_FS_XATTR || EXT3_FS_XATTR | 176 | depends on EXT2_FS_XATTR || EXT3_FS_XATTR |
177 | default y if EXT2_FS=y || EXT3_FS=y | 177 | default y if EXT2_FS=y || EXT3_FS=y |
178 | default m if EXT2_FS=m || EXT3_FS=m | 178 | default m if EXT2_FS=m || EXT3_FS=m |
179 | 179 | ||
180 | config REISERFS_FS | 180 | config REISERFS_FS |
181 | tristate "Reiserfs support" | 181 | tristate "Reiserfs support" |
182 | help | 182 | help |
183 | Stores not just filenames but the files themselves in a balanced | 183 | Stores not just filenames but the files themselves in a balanced |
184 | tree. Uses journaling. | 184 | tree. Uses journaling. |
185 | 185 | ||
186 | Balanced trees are more efficient than traditional file system | 186 | Balanced trees are more efficient than traditional file system |
187 | architectural foundations. | 187 | architectural foundations. |
188 | 188 | ||
189 | In general, ReiserFS is as fast as ext2, but is very efficient with | 189 | In general, ReiserFS is as fast as ext2, but is very efficient with |
190 | large directories and small files. Additional patches are needed | 190 | large directories and small files. Additional patches are needed |
191 | for NFS and quotas, please see <http://www.namesys.com/> for links. | 191 | for NFS and quotas, please see <http://www.namesys.com/> for links. |
192 | 192 | ||
193 | It is more easily extended to have features currently found in | 193 | It is more easily extended to have features currently found in |
194 | database and keyword search systems than block allocation based file | 194 | database and keyword search systems than block allocation based file |
195 | systems are. The next version will be so extended, and will support | 195 | systems are. The next version will be so extended, and will support |
196 | plugins consistent with our motto ``It takes more than a license to | 196 | plugins consistent with our motto ``It takes more than a license to |
197 | make source code open.'' | 197 | make source code open.'' |
198 | 198 | ||
199 | Read <http://www.namesys.com/> to learn more about reiserfs. | 199 | Read <http://www.namesys.com/> to learn more about reiserfs. |
200 | 200 | ||
201 | Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com. | 201 | Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com. |
202 | 202 | ||
203 | If you like it, you can pay us to add new features to it that you | 203 | If you like it, you can pay us to add new features to it that you |
204 | need, buy a support contract, or pay us to port it to another OS. | 204 | need, buy a support contract, or pay us to port it to another OS. |
205 | 205 | ||
206 | config REISERFS_CHECK | 206 | config REISERFS_CHECK |
207 | bool "Enable reiserfs debug mode" | 207 | bool "Enable reiserfs debug mode" |
208 | depends on REISERFS_FS | 208 | depends on REISERFS_FS |
209 | help | 209 | help |
210 | If you set this to Y, then ReiserFS will perform every check it can | 210 | If you set this to Y, then ReiserFS will perform every check it can |
211 | possibly imagine of its internal consistency throughout its | 211 | possibly imagine of its internal consistency throughout its |
212 | operation. It will also go substantially slower. More than once we | 212 | operation. It will also go substantially slower. More than once we |
213 | have forgotten that this was on, and then gone despondent over the | 213 | have forgotten that this was on, and then gone despondent over the |
214 | latest benchmarks.:-) Use of this option allows our team to go all | 214 | latest benchmarks.:-) Use of this option allows our team to go all |
215 | out in checking for consistency when debugging without fear of its | 215 | out in checking for consistency when debugging without fear of its |
216 | effect on end users. If you are on the verge of sending in a bug | 216 | effect on end users. If you are on the verge of sending in a bug |
217 | report, say Y and you might get a useful error message. Almost | 217 | report, say Y and you might get a useful error message. Almost |
218 | everyone should say N. | 218 | everyone should say N. |
219 | 219 | ||
220 | config REISERFS_PROC_INFO | 220 | config REISERFS_PROC_INFO |
221 | bool "Stats in /proc/fs/reiserfs" | 221 | bool "Stats in /proc/fs/reiserfs" |
222 | depends on REISERFS_FS | 222 | depends on REISERFS_FS |
223 | help | 223 | help |
224 | Create under /proc/fs/reiserfs a hierarchy of files, displaying | 224 | Create under /proc/fs/reiserfs a hierarchy of files, displaying |
225 | various ReiserFS statistics and internal data at the expense of | 225 | various ReiserFS statistics and internal data at the expense of |
226 | making your kernel or module slightly larger (+8 KB). This also | 226 | making your kernel or module slightly larger (+8 KB). This also |
227 | increases the amount of kernel memory required for each mount. | 227 | increases the amount of kernel memory required for each mount. |
228 | Almost everyone but ReiserFS developers and people fine-tuning | 228 | Almost everyone but ReiserFS developers and people fine-tuning |
229 | reiserfs or tracing problems should say N. | 229 | reiserfs or tracing problems should say N. |
230 | 230 | ||
231 | config REISERFS_FS_XATTR | 231 | config REISERFS_FS_XATTR |
232 | bool "ReiserFS extended attributes" | 232 | bool "ReiserFS extended attributes" |
233 | depends on REISERFS_FS | 233 | depends on REISERFS_FS |
234 | help | 234 | help |
235 | Extended attributes are name:value pairs associated with inodes by | 235 | Extended attributes are name:value pairs associated with inodes by |
236 | the kernel or by users (see the attr(5) manual page, or visit | 236 | the kernel or by users (see the attr(5) manual page, or visit |
237 | <http://acl.bestbits.at/> for details). | 237 | <http://acl.bestbits.at/> for details). |
238 | 238 | ||
239 | If unsure, say N. | 239 | If unsure, say N. |
240 | 240 | ||
241 | config REISERFS_FS_POSIX_ACL | 241 | config REISERFS_FS_POSIX_ACL |
242 | bool "ReiserFS POSIX Access Control Lists" | 242 | bool "ReiserFS POSIX Access Control Lists" |
243 | depends on REISERFS_FS_XATTR | 243 | depends on REISERFS_FS_XATTR |
244 | select FS_POSIX_ACL | 244 | select FS_POSIX_ACL |
245 | help | 245 | help |
246 | Posix Access Control Lists (ACLs) support permissions for users and | 246 | Posix Access Control Lists (ACLs) support permissions for users and |
247 | groups beyond the owner/group/world scheme. | 247 | groups beyond the owner/group/world scheme. |
248 | 248 | ||
249 | To learn more about Access Control Lists, visit the Posix ACLs for | 249 | To learn more about Access Control Lists, visit the Posix ACLs for |
250 | Linux website <http://acl.bestbits.at/>. | 250 | Linux website <http://acl.bestbits.at/>. |
251 | 251 | ||
252 | If you don't know what Access Control Lists are, say N | 252 | If you don't know what Access Control Lists are, say N |
253 | 253 | ||
254 | config REISERFS_FS_SECURITY | 254 | config REISERFS_FS_SECURITY |
255 | bool "ReiserFS Security Labels" | 255 | bool "ReiserFS Security Labels" |
256 | depends on REISERFS_FS_XATTR | 256 | depends on REISERFS_FS_XATTR |
257 | help | 257 | help |
258 | Security labels support alternative access control models | 258 | Security labels support alternative access control models |
259 | implemented by security modules like SELinux. This option | 259 | implemented by security modules like SELinux. This option |
260 | enables an extended attribute handler for file security | 260 | enables an extended attribute handler for file security |
261 | labels in the ReiserFS filesystem. | 261 | labels in the ReiserFS filesystem. |
262 | 262 | ||
263 | If you are not using a security module that requires using | 263 | If you are not using a security module that requires using |
264 | extended attributes for file security labels, say N. | 264 | extended attributes for file security labels, say N. |
265 | 265 | ||
266 | config JFS_FS | 266 | config JFS_FS |
267 | tristate "JFS filesystem support" | 267 | tristate "JFS filesystem support" |
268 | select NLS | 268 | select NLS |
269 | help | 269 | help |
270 | This is a port of IBM's Journaled Filesystem . More information is | 270 | This is a port of IBM's Journaled Filesystem . More information is |
271 | available in the file <file:Documentation/filesystems/jfs.txt>. | 271 | available in the file <file:Documentation/filesystems/jfs.txt>. |
272 | 272 | ||
273 | If you do not intend to use the JFS filesystem, say N. | 273 | If you do not intend to use the JFS filesystem, say N. |
274 | 274 | ||
275 | config JFS_POSIX_ACL | 275 | config JFS_POSIX_ACL |
276 | bool "JFS POSIX Access Control Lists" | 276 | bool "JFS POSIX Access Control Lists" |
277 | depends on JFS_FS | 277 | depends on JFS_FS |
278 | select FS_POSIX_ACL | 278 | select FS_POSIX_ACL |
279 | help | 279 | help |
280 | Posix Access Control Lists (ACLs) support permissions for users and | 280 | Posix Access Control Lists (ACLs) support permissions for users and |
281 | groups beyond the owner/group/world scheme. | 281 | groups beyond the owner/group/world scheme. |
282 | 282 | ||
283 | To learn more about Access Control Lists, visit the Posix ACLs for | 283 | To learn more about Access Control Lists, visit the Posix ACLs for |
284 | Linux website <http://acl.bestbits.at/>. | 284 | Linux website <http://acl.bestbits.at/>. |
285 | 285 | ||
286 | If you don't know what Access Control Lists are, say N | 286 | If you don't know what Access Control Lists are, say N |
287 | 287 | ||
288 | config JFS_SECURITY | 288 | config JFS_SECURITY |
289 | bool "JFS Security Labels" | 289 | bool "JFS Security Labels" |
290 | depends on JFS_FS | 290 | depends on JFS_FS |
291 | help | 291 | help |
292 | Security labels support alternative access control models | 292 | Security labels support alternative access control models |
293 | implemented by security modules like SELinux. This option | 293 | implemented by security modules like SELinux. This option |
294 | enables an extended attribute handler for file security | 294 | enables an extended attribute handler for file security |
295 | labels in the jfs filesystem. | 295 | labels in the jfs filesystem. |
296 | 296 | ||
297 | If you are not using a security module that requires using | 297 | If you are not using a security module that requires using |
298 | extended attributes for file security labels, say N. | 298 | extended attributes for file security labels, say N. |
299 | 299 | ||
300 | config JFS_DEBUG | 300 | config JFS_DEBUG |
301 | bool "JFS debugging" | 301 | bool "JFS debugging" |
302 | depends on JFS_FS | 302 | depends on JFS_FS |
303 | help | 303 | help |
304 | If you are experiencing any problems with the JFS filesystem, say | 304 | If you are experiencing any problems with the JFS filesystem, say |
305 | Y here. This will result in additional debugging messages to be | 305 | Y here. This will result in additional debugging messages to be |
306 | written to the system log. Under normal circumstances, this | 306 | written to the system log. Under normal circumstances, this |
307 | results in very little overhead. | 307 | results in very little overhead. |
308 | 308 | ||
309 | config JFS_STATISTICS | 309 | config JFS_STATISTICS |
310 | bool "JFS statistics" | 310 | bool "JFS statistics" |
311 | depends on JFS_FS | 311 | depends on JFS_FS |
312 | help | 312 | help |
313 | Enabling this option will cause statistics from the JFS file system | 313 | Enabling this option will cause statistics from the JFS file system |
314 | to be made available to the user in the /proc/fs/jfs/ directory. | 314 | to be made available to the user in the /proc/fs/jfs/ directory. |
315 | 315 | ||
316 | config FS_POSIX_ACL | 316 | config FS_POSIX_ACL |
317 | # Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs) | 317 | # Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs) |
318 | # | 318 | # |
319 | # NOTE: you can implement Posix ACLs without these helpers (XFS does). | 319 | # NOTE: you can implement Posix ACLs without these helpers (XFS does). |
320 | # Never use this symbol for ifdefs. | 320 | # Never use this symbol for ifdefs. |
321 | # | 321 | # |
322 | bool | 322 | bool |
323 | default n | 323 | default n |
324 | 324 | ||
325 | source "fs/xfs/Kconfig" | 325 | source "fs/xfs/Kconfig" |
326 | 326 | ||
327 | config OCFS2_FS | 327 | config OCFS2_FS |
328 | tristate "OCFS2 file system support" | 328 | tristate "OCFS2 file system support" |
329 | depends on NET && SYSFS | 329 | depends on NET && SYSFS |
330 | select CONFIGFS_FS | 330 | select CONFIGFS_FS |
331 | select JBD | 331 | select JBD |
332 | select CRC32 | 332 | select CRC32 |
333 | select INET | 333 | select INET |
334 | help | 334 | help |
335 | OCFS2 is a general purpose extent based shared disk cluster file | 335 | OCFS2 is a general purpose extent based shared disk cluster file |
336 | system with many similarities to ext3. It supports 64 bit inode | 336 | system with many similarities to ext3. It supports 64 bit inode |
337 | numbers, and has automatically extending metadata groups which may | 337 | numbers, and has automatically extending metadata groups which may |
338 | also make it attractive for non-clustered use. | 338 | also make it attractive for non-clustered use. |
339 | 339 | ||
340 | You'll want to install the ocfs2-tools package in order to at least | 340 | You'll want to install the ocfs2-tools package in order to at least |
341 | get "mount.ocfs2". | 341 | get "mount.ocfs2". |
342 | 342 | ||
343 | Project web page: http://oss.oracle.com/projects/ocfs2 | 343 | Project web page: http://oss.oracle.com/projects/ocfs2 |
344 | Tools web page: http://oss.oracle.com/projects/ocfs2-tools | 344 | Tools web page: http://oss.oracle.com/projects/ocfs2-tools |
345 | OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/ | 345 | OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/ |
346 | 346 | ||
347 | Note: Features which OCFS2 does not support yet: | 347 | Note: Features which OCFS2 does not support yet: |
348 | - extended attributes | 348 | - extended attributes |
349 | - shared writeable mmap | 349 | - shared writeable mmap |
350 | - loopback is supported, but data written will not | 350 | - loopback is supported, but data written will not |
351 | be cluster coherent. | 351 | be cluster coherent. |
352 | - quotas | 352 | - quotas |
353 | - cluster aware flock | 353 | - cluster aware flock |
354 | - Directory change notification (F_NOTIFY) | 354 | - Directory change notification (F_NOTIFY) |
355 | - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) | 355 | - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) |
356 | - POSIX ACLs | 356 | - POSIX ACLs |
357 | - readpages / writepages (not user visible) | 357 | - readpages / writepages (not user visible) |
358 | 358 | ||
359 | config OCFS2_DEBUG_MASKLOG | 359 | config OCFS2_DEBUG_MASKLOG |
360 | bool "OCFS2 logging support" | 360 | bool "OCFS2 logging support" |
361 | depends on OCFS2_FS | 361 | depends on OCFS2_FS |
362 | default y | 362 | default y |
363 | help | 363 | help |
364 | The ocfs2 filesystem has an extensive logging system. The system | 364 | The ocfs2 filesystem has an extensive logging system. The system |
365 | allows selection of events to log via files in /sys/o2cb/logmask/. | 365 | allows selection of events to log via files in /sys/o2cb/logmask/. |
366 | This option will enlarge your kernel, but it allows debugging of | 366 | This option will enlarge your kernel, but it allows debugging of |
367 | ocfs2 filesystem issues. | 367 | ocfs2 filesystem issues. |
368 | 368 | ||
369 | config MINIX_FS | 369 | config MINIX_FS |
370 | tristate "Minix fs support" | 370 | tristate "Minix fs support" |
371 | help | 371 | help |
372 | Minix is a simple operating system used in many classes about OS's. | 372 | Minix is a simple operating system used in many classes about OS's. |
373 | The minix file system (method to organize files on a hard disk | 373 | The minix file system (method to organize files on a hard disk |
374 | partition or a floppy disk) was the original file system for Linux, | 374 | partition or a floppy disk) was the original file system for Linux, |
375 | but has been superseded by the second extended file system ext2fs. | 375 | but has been superseded by the second extended file system ext2fs. |
376 | You don't want to use the minix file system on your hard disk | 376 | You don't want to use the minix file system on your hard disk |
377 | because of certain built-in restrictions, but it is sometimes found | 377 | because of certain built-in restrictions, but it is sometimes found |
378 | on older Linux floppy disks. This option will enlarge your kernel | 378 | on older Linux floppy disks. This option will enlarge your kernel |
379 | by about 28 KB. If unsure, say N. | 379 | by about 28 KB. If unsure, say N. |
380 | 380 | ||
381 | To compile this file system support as a module, choose M here: the | 381 | To compile this file system support as a module, choose M here: the |
382 | module will be called minix. Note that the file system of your root | 382 | module will be called minix. Note that the file system of your root |
383 | partition (the one containing the directory /) cannot be compiled as | 383 | partition (the one containing the directory /) cannot be compiled as |
384 | a module. | 384 | a module. |
385 | 385 | ||
386 | config ROMFS_FS | 386 | config ROMFS_FS |
387 | tristate "ROM file system support" | 387 | tristate "ROM file system support" |
388 | ---help--- | 388 | ---help--- |
389 | This is a very small read-only file system mainly intended for | 389 | This is a very small read-only file system mainly intended for |
390 | initial ram disks of installation disks, but it could be used for | 390 | initial ram disks of installation disks, but it could be used for |
391 | other read-only media as well. Read | 391 | other read-only media as well. Read |
392 | <file:Documentation/filesystems/romfs.txt> for details. | 392 | <file:Documentation/filesystems/romfs.txt> for details. |
393 | 393 | ||
394 | To compile this file system support as a module, choose M here: the | 394 | To compile this file system support as a module, choose M here: the |
395 | module will be called romfs. Note that the file system of your | 395 | module will be called romfs. Note that the file system of your |
396 | root partition (the one containing the directory /) cannot be a | 396 | root partition (the one containing the directory /) cannot be a |
397 | module. | 397 | module. |
398 | 398 | ||
399 | If you don't know whether you need it, then you don't need it: | 399 | If you don't know whether you need it, then you don't need it: |
400 | answer N. | 400 | answer N. |
401 | 401 | ||
402 | config INOTIFY | 402 | config INOTIFY |
403 | bool "Inotify file change notification support" | 403 | bool "Inotify file change notification support" |
404 | default y | 404 | default y |
405 | ---help--- | 405 | ---help--- |
406 | Say Y here to enable inotify support. Inotify is a file change | 406 | Say Y here to enable inotify support. Inotify is a file change |
407 | notification system and a replacement for dnotify. Inotify fixes | 407 | notification system and a replacement for dnotify. Inotify fixes |
408 | numerous shortcomings in dnotify and introduces several new features | 408 | numerous shortcomings in dnotify and introduces several new features |
409 | including multiple file events, one-shot support, and unmount | 409 | including multiple file events, one-shot support, and unmount |
410 | notification. | 410 | notification. |
411 | 411 | ||
412 | For more information, see Documentation/filesystems/inotify.txt | 412 | For more information, see Documentation/filesystems/inotify.txt |
413 | 413 | ||
414 | If unsure, say Y. | 414 | If unsure, say Y. |
415 | 415 | ||
416 | config INOTIFY_USER | 416 | config INOTIFY_USER |
417 | bool "Inotify support for userspace" | 417 | bool "Inotify support for userspace" |
418 | depends on INOTIFY | 418 | depends on INOTIFY |
419 | default y | 419 | default y |
420 | ---help--- | 420 | ---help--- |
421 | Say Y here to enable inotify support for userspace, including the | 421 | Say Y here to enable inotify support for userspace, including the |
422 | associated system calls. Inotify allows monitoring of both files and | 422 | associated system calls. Inotify allows monitoring of both files and |
423 | directories via a single open fd. Events are read from the file | 423 | directories via a single open fd. Events are read from the file |
424 | descriptor, which is also select()- and poll()-able. | 424 | descriptor, which is also select()- and poll()-able. |
425 | 425 | ||
426 | For more information, see Documentation/filesystems/inotify.txt | 426 | For more information, see Documentation/filesystems/inotify.txt |
427 | 427 | ||
428 | If unsure, say Y. | 428 | If unsure, say Y. |
429 | 429 | ||
430 | config QUOTA | 430 | config QUOTA |
431 | bool "Quota support" | 431 | bool "Quota support" |
432 | help | 432 | help |
433 | If you say Y here, you will be able to set per user limits for disk | 433 | If you say Y here, you will be able to set per user limits for disk |
434 | usage (also called disk quotas). Currently, it works for the | 434 | usage (also called disk quotas). Currently, it works for the |
435 | ext2, ext3, and reiserfs file system. ext3 also supports journalled | 435 | ext2, ext3, and reiserfs file system. ext3 also supports journalled |
436 | quotas for which you don't need to run quotacheck(8) after an unclean | 436 | quotas for which you don't need to run quotacheck(8) after an unclean |
437 | shutdown. | 437 | shutdown. |
438 | For further details, read the Quota mini-HOWTO, available from | 438 | For further details, read the Quota mini-HOWTO, available from |
439 | <http://www.tldp.org/docs.html#howto>, or the documentation provided | 439 | <http://www.tldp.org/docs.html#howto>, or the documentation provided |
440 | with the quota tools. Probably the quota support is only useful for | 440 | with the quota tools. Probably the quota support is only useful for |
441 | multi user systems. If unsure, say N. | 441 | multi user systems. If unsure, say N. |
442 | 442 | ||
443 | config QFMT_V1 | 443 | config QFMT_V1 |
444 | tristate "Old quota format support" | 444 | tristate "Old quota format support" |
445 | depends on QUOTA | 445 | depends on QUOTA |
446 | help | 446 | help |
447 | This quota format was (is) used by kernels earlier than 2.4.22. If | 447 | This quota format was (is) used by kernels earlier than 2.4.22. If |
448 | you have quota working and you don't want to convert to new quota | 448 | you have quota working and you don't want to convert to new quota |
449 | format say Y here. | 449 | format say Y here. |
450 | 450 | ||
451 | config QFMT_V2 | 451 | config QFMT_V2 |
452 | tristate "Quota format v2 support" | 452 | tristate "Quota format v2 support" |
453 | depends on QUOTA | 453 | depends on QUOTA |
454 | help | 454 | help |
455 | This quota format allows using quotas with 32-bit UIDs/GIDs. If you | 455 | This quota format allows using quotas with 32-bit UIDs/GIDs. If you |
456 | need this functionality say Y here. | 456 | need this functionality say Y here. |
457 | 457 | ||
458 | config QUOTACTL | 458 | config QUOTACTL |
459 | bool | 459 | bool |
460 | depends on XFS_QUOTA || QUOTA | 460 | depends on XFS_QUOTA || QUOTA |
461 | default y | 461 | default y |
462 | 462 | ||
463 | config DNOTIFY | 463 | config DNOTIFY |
464 | bool "Dnotify support" if EMBEDDED | 464 | bool "Dnotify support" if EMBEDDED |
465 | default y | 465 | default y |
466 | help | 466 | help |
467 | Dnotify is a directory-based per-fd file change notification system | 467 | Dnotify is a directory-based per-fd file change notification system |
468 | that uses signals to communicate events to user-space. There exist | 468 | that uses signals to communicate events to user-space. There exist |
469 | superior alternatives, but some applications may still rely on | 469 | superior alternatives, but some applications may still rely on |
470 | dnotify. | 470 | dnotify. |
471 | 471 | ||
472 | Because of this, if unsure, say Y. | 472 | Because of this, if unsure, say Y. |
473 | 473 | ||
474 | config AUTOFS_FS | 474 | config AUTOFS_FS |
475 | tristate "Kernel automounter support" | 475 | tristate "Kernel automounter support" |
476 | help | 476 | help |
477 | The automounter is a tool to automatically mount remote file systems | 477 | The automounter is a tool to automatically mount remote file systems |
478 | on demand. This implementation is partially kernel-based to reduce | 478 | on demand. This implementation is partially kernel-based to reduce |
479 | overhead in the already-mounted case; this is unlike the BSD | 479 | overhead in the already-mounted case; this is unlike the BSD |
480 | automounter (amd), which is a pure user space daemon. | 480 | automounter (amd), which is a pure user space daemon. |
481 | 481 | ||
482 | To use the automounter you need the user-space tools from the autofs | 482 | To use the automounter you need the user-space tools from the autofs |
483 | package; you can find the location in <file:Documentation/Changes>. | 483 | package; you can find the location in <file:Documentation/Changes>. |
484 | You also want to answer Y to "NFS file system support", below. | 484 | You also want to answer Y to "NFS file system support", below. |
485 | 485 | ||
486 | If you want to use the newer version of the automounter with more | 486 | If you want to use the newer version of the automounter with more |
487 | features, say N here and say Y to "Kernel automounter v4 support", | 487 | features, say N here and say Y to "Kernel automounter v4 support", |
488 | below. | 488 | below. |
489 | 489 | ||
490 | To compile this support as a module, choose M here: the module will be | 490 | To compile this support as a module, choose M here: the module will be |
491 | called autofs. | 491 | called autofs. |
492 | 492 | ||
493 | If you are not a part of a fairly large, distributed network, you | 493 | If you are not a part of a fairly large, distributed network, you |
494 | probably do not need an automounter, and can say N here. | 494 | probably do not need an automounter, and can say N here. |
495 | 495 | ||
496 | config AUTOFS4_FS | 496 | config AUTOFS4_FS |
497 | tristate "Kernel automounter version 4 support (also supports v3)" | 497 | tristate "Kernel automounter version 4 support (also supports v3)" |
498 | help | 498 | help |
499 | The automounter is a tool to automatically mount remote file systems | 499 | The automounter is a tool to automatically mount remote file systems |
500 | on demand. This implementation is partially kernel-based to reduce | 500 | on demand. This implementation is partially kernel-based to reduce |
501 | overhead in the already-mounted case; this is unlike the BSD | 501 | overhead in the already-mounted case; this is unlike the BSD |
502 | automounter (amd), which is a pure user space daemon. | 502 | automounter (amd), which is a pure user space daemon. |
503 | 503 | ||
504 | To use the automounter you need the user-space tools from | 504 | To use the automounter you need the user-space tools from |
505 | <ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/>; you also | 505 | <ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/>; you also |
506 | want to answer Y to "NFS file system support", below. | 506 | want to answer Y to "NFS file system support", below. |
507 | 507 | ||
508 | To compile this support as a module, choose M here: the module will be | 508 | To compile this support as a module, choose M here: the module will be |
509 | called autofs4. You will need to add "alias autofs autofs4" to your | 509 | called autofs4. You will need to add "alias autofs autofs4" to your |
510 | modules configuration file. | 510 | modules configuration file. |
511 | 511 | ||
512 | If you are not a part of a fairly large, distributed network or | 512 | If you are not a part of a fairly large, distributed network or |
513 | don't have a laptop which needs to dynamically reconfigure to the | 513 | don't have a laptop which needs to dynamically reconfigure to the |
514 | local network, you probably do not need an automounter, and can say | 514 | local network, you probably do not need an automounter, and can say |
515 | N here. | 515 | N here. |
516 | 516 | ||
517 | config FUSE_FS | 517 | config FUSE_FS |
518 | tristate "Filesystem in Userspace support" | 518 | tristate "Filesystem in Userspace support" |
519 | help | 519 | help |
520 | With FUSE it is possible to implement a fully functional filesystem | 520 | With FUSE it is possible to implement a fully functional filesystem |
521 | in a userspace program. | 521 | in a userspace program. |
522 | 522 | ||
523 | There's also companion library: libfuse. This library along with | 523 | There's also companion library: libfuse. This library along with |
524 | utilities is available from the FUSE homepage: | 524 | utilities is available from the FUSE homepage: |
525 | <http://fuse.sourceforge.net/> | 525 | <http://fuse.sourceforge.net/> |
526 | 526 | ||
527 | See <file:Documentation/filesystems/fuse.txt> for more information. | 527 | See <file:Documentation/filesystems/fuse.txt> for more information. |
528 | See <file:Documentation/Changes> for needed library/utility version. | 528 | See <file:Documentation/Changes> for needed library/utility version. |
529 | 529 | ||
530 | If you want to develop a userspace FS, or if you want to use | 530 | If you want to develop a userspace FS, or if you want to use |
531 | a filesystem based on FUSE, answer Y or M. | 531 | a filesystem based on FUSE, answer Y or M. |
532 | 532 | ||
533 | menu "CD-ROM/DVD Filesystems" | 533 | menu "CD-ROM/DVD Filesystems" |
534 | 534 | ||
535 | config ISO9660_FS | 535 | config ISO9660_FS |
536 | tristate "ISO 9660 CDROM file system support" | 536 | tristate "ISO 9660 CDROM file system support" |
537 | help | 537 | help |
538 | This is the standard file system used on CD-ROMs. It was previously | 538 | This is the standard file system used on CD-ROMs. It was previously |
539 | known as "High Sierra File System" and is called "hsfs" on other | 539 | known as "High Sierra File System" and is called "hsfs" on other |
540 | Unix systems. The so-called Rock-Ridge extensions which allow for | 540 | Unix systems. The so-called Rock-Ridge extensions which allow for |
541 | long Unix filenames and symbolic links are also supported by this | 541 | long Unix filenames and symbolic links are also supported by this |
542 | driver. If you have a CD-ROM drive and want to do more with it than | 542 | driver. If you have a CD-ROM drive and want to do more with it than |
543 | just listen to audio CDs and watch its LEDs, say Y (and read | 543 | just listen to audio CDs and watch its LEDs, say Y (and read |
544 | <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO, | 544 | <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO, |
545 | available from <http://www.tldp.org/docs.html#howto>), thereby | 545 | available from <http://www.tldp.org/docs.html#howto>), thereby |
546 | enlarging your kernel by about 27 KB; otherwise say N. | 546 | enlarging your kernel by about 27 KB; otherwise say N. |
547 | 547 | ||
548 | To compile this file system support as a module, choose M here: the | 548 | To compile this file system support as a module, choose M here: the |
549 | module will be called isofs. | 549 | module will be called isofs. |
550 | 550 | ||
551 | config JOLIET | 551 | config JOLIET |
552 | bool "Microsoft Joliet CDROM extensions" | 552 | bool "Microsoft Joliet CDROM extensions" |
553 | depends on ISO9660_FS | 553 | depends on ISO9660_FS |
554 | select NLS | 554 | select NLS |
555 | help | 555 | help |
556 | Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system | 556 | Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system |
557 | which allows for long filenames in unicode format (unicode is the | 557 | which allows for long filenames in unicode format (unicode is the |
558 | new 16 bit character code, successor to ASCII, which encodes the | 558 | new 16 bit character code, successor to ASCII, which encodes the |
559 | characters of almost all languages of the world; see | 559 | characters of almost all languages of the world; see |
560 | <http://www.unicode.org/> for more information). Say Y here if you | 560 | <http://www.unicode.org/> for more information). Say Y here if you |
561 | want to be able to read Joliet CD-ROMs under Linux. | 561 | want to be able to read Joliet CD-ROMs under Linux. |
562 | 562 | ||
563 | config ZISOFS | 563 | config ZISOFS |
564 | bool "Transparent decompression extension" | 564 | bool "Transparent decompression extension" |
565 | depends on ISO9660_FS | 565 | depends on ISO9660_FS |
566 | select ZLIB_INFLATE | 566 | select ZLIB_INFLATE |
567 | help | 567 | help |
568 | This is a Linux-specific extension to RockRidge which lets you store | 568 | This is a Linux-specific extension to RockRidge which lets you store |
569 | data in compressed form on a CD-ROM and have it transparently | 569 | data in compressed form on a CD-ROM and have it transparently |
570 | decompressed when the CD-ROM is accessed. See | 570 | decompressed when the CD-ROM is accessed. See |
571 | <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools | 571 | <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools |
572 | necessary to create such a filesystem. Say Y here if you want to be | 572 | necessary to create such a filesystem. Say Y here if you want to be |
573 | able to read such compressed CD-ROMs. | 573 | able to read such compressed CD-ROMs. |
574 | 574 | ||
575 | config ZISOFS_FS | 575 | config ZISOFS_FS |
576 | # for fs/nls/Config.in | 576 | # for fs/nls/Config.in |
577 | tristate | 577 | tristate |
578 | depends on ZISOFS | 578 | depends on ZISOFS |
579 | default ISO9660_FS | 579 | default ISO9660_FS |
580 | 580 | ||
581 | config UDF_FS | 581 | config UDF_FS |
582 | tristate "UDF file system support" | 582 | tristate "UDF file system support" |
583 | help | 583 | help |
584 | This is the new file system used on some CD-ROMs and DVDs. Say Y if | 584 | This is the new file system used on some CD-ROMs and DVDs. Say Y if |
585 | you intend to mount DVD discs or CDRW's written in packet mode, or | 585 | you intend to mount DVD discs or CDRW's written in packet mode, or |
586 | if written to by other UDF utilities, such as DirectCD. | 586 | if written to by other UDF utilities, such as DirectCD. |
587 | Please read <file:Documentation/filesystems/udf.txt>. | 587 | Please read <file:Documentation/filesystems/udf.txt>. |
588 | 588 | ||
589 | To compile this file system support as a module, choose M here: the | 589 | To compile this file system support as a module, choose M here: the |
590 | module will be called udf. | 590 | module will be called udf. |
591 | 591 | ||
592 | If unsure, say N. | 592 | If unsure, say N. |
593 | 593 | ||
594 | config UDF_NLS | 594 | config UDF_NLS |
595 | bool | 595 | bool |
596 | default y | 596 | default y |
597 | depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y) | 597 | depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y) |
598 | 598 | ||
599 | endmenu | 599 | endmenu |
600 | 600 | ||
601 | menu "DOS/FAT/NT Filesystems" | 601 | menu "DOS/FAT/NT Filesystems" |
602 | 602 | ||
603 | config FAT_FS | 603 | config FAT_FS |
604 | tristate | 604 | tristate |
605 | select NLS | 605 | select NLS |
606 | help | 606 | help |
607 | If you want to use one of the FAT-based file systems (the MS-DOS and | 607 | If you want to use one of the FAT-based file systems (the MS-DOS and |
608 | VFAT (Windows 95) file systems), then you must say Y or M here | 608 | VFAT (Windows 95) file systems), then you must say Y or M here |
609 | to include FAT support. You will then be able to mount partitions or | 609 | to include FAT support. You will then be able to mount partitions or |
610 | diskettes with FAT-based file systems and transparently access the | 610 | diskettes with FAT-based file systems and transparently access the |
611 | files on them, i.e. MSDOS files will look and behave just like all | 611 | files on them, i.e. MSDOS files will look and behave just like all |
612 | other Unix files. | 612 | other Unix files. |
613 | 613 | ||
614 | This FAT support is not a file system in itself, it only provides | 614 | This FAT support is not a file system in itself, it only provides |
615 | the foundation for the other file systems. You will have to say Y or | 615 | the foundation for the other file systems. You will have to say Y or |
616 | M to at least one of "MSDOS fs support" or "VFAT fs support" in | 616 | M to at least one of "MSDOS fs support" or "VFAT fs support" in |
617 | order to make use of it. | 617 | order to make use of it. |
618 | 618 | ||
619 | Another way to read and write MSDOS floppies and hard drive | 619 | Another way to read and write MSDOS floppies and hard drive |
620 | partitions from within Linux (but not transparently) is with the | 620 | partitions from within Linux (but not transparently) is with the |
621 | mtools ("man mtools") program suite. You don't need to say Y here in | 621 | mtools ("man mtools") program suite. You don't need to say Y here in |
622 | order to do that. | 622 | order to do that. |
623 | 623 | ||
624 | If you need to move large files on floppies between a DOS and a | 624 | If you need to move large files on floppies between a DOS and a |
625 | Linux box, say Y here, mount the floppy under Linux with an MSDOS | 625 | Linux box, say Y here, mount the floppy under Linux with an MSDOS |
626 | file system and use GNU tar's M option. GNU tar is a program | 626 | file system and use GNU tar's M option. GNU tar is a program |
627 | available for Unix and DOS ("man tar" or "info tar"). | 627 | available for Unix and DOS ("man tar" or "info tar"). |
628 | 628 | ||
629 | It is now also becoming possible to read and write compressed FAT | 629 | It is now also becoming possible to read and write compressed FAT |
630 | file systems; read <file:Documentation/filesystems/fat_cvf.txt> for | 630 | file systems; read <file:Documentation/filesystems/fat_cvf.txt> for |
631 | details. | 631 | details. |
632 | 632 | ||
633 | The FAT support will enlarge your kernel by about 37 KB. If unsure, | 633 | The FAT support will enlarge your kernel by about 37 KB. If unsure, |
634 | say Y. | 634 | say Y. |
635 | 635 | ||
636 | To compile this as a module, choose M here: the module will be called | 636 | To compile this as a module, choose M here: the module will be called |
637 | fat. Note that if you compile the FAT support as a module, you | 637 | fat. Note that if you compile the FAT support as a module, you |
638 | cannot compile any of the FAT-based file systems into the kernel | 638 | cannot compile any of the FAT-based file systems into the kernel |
639 | -- they will have to be modules as well. | 639 | -- they will have to be modules as well. |
640 | 640 | ||
641 | config MSDOS_FS | 641 | config MSDOS_FS |
642 | tristate "MSDOS fs support" | 642 | tristate "MSDOS fs support" |
643 | select FAT_FS | 643 | select FAT_FS |
644 | help | 644 | help |
645 | This allows you to mount MSDOS partitions of your hard drive (unless | 645 | This allows you to mount MSDOS partitions of your hard drive (unless |
646 | they are compressed; to access compressed MSDOS partitions under | 646 | they are compressed; to access compressed MSDOS partitions under |
647 | Linux, you can either use the DOS emulator DOSEMU, described in the | 647 | Linux, you can either use the DOS emulator DOSEMU, described in the |
648 | DOSEMU-HOWTO, available from | 648 | DOSEMU-HOWTO, available from |
649 | <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in | 649 | <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in |
650 | <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you | 650 | <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you |
651 | intend to use dosemu with a non-compressed MSDOS partition, say Y | 651 | intend to use dosemu with a non-compressed MSDOS partition, say Y |
652 | here) and MSDOS floppies. This means that file access becomes | 652 | here) and MSDOS floppies. This means that file access becomes |
653 | transparent, i.e. the MSDOS files look and behave just like all | 653 | transparent, i.e. the MSDOS files look and behave just like all |
654 | other Unix files. | 654 | other Unix files. |
655 | 655 | ||
656 | If you have Windows 95 or Windows NT installed on your MSDOS | 656 | If you have Windows 95 or Windows NT installed on your MSDOS |
657 | partitions, you should use the VFAT file system (say Y to "VFAT fs | 657 | partitions, you should use the VFAT file system (say Y to "VFAT fs |
658 | support" below), or you will not be able to see the long filenames | 658 | support" below), or you will not be able to see the long filenames |
659 | generated by Windows 95 / Windows NT. | 659 | generated by Windows 95 / Windows NT. |
660 | 660 | ||
661 | This option will enlarge your kernel by about 7 KB. If unsure, | 661 | This option will enlarge your kernel by about 7 KB. If unsure, |
662 | answer Y. This will only work if you said Y to "DOS FAT fs support" | 662 | answer Y. This will only work if you said Y to "DOS FAT fs support" |
663 | as well. To compile this as a module, choose M here: the module will | 663 | as well. To compile this as a module, choose M here: the module will |
664 | be called msdos. | 664 | be called msdos. |
665 | 665 | ||
666 | config VFAT_FS | 666 | config VFAT_FS |
667 | tristate "VFAT (Windows-95) fs support" | 667 | tristate "VFAT (Windows-95) fs support" |
668 | select FAT_FS | 668 | select FAT_FS |
669 | help | 669 | help |
670 | This option provides support for normal Windows file systems with | 670 | This option provides support for normal Windows file systems with |
671 | long filenames. That includes non-compressed FAT-based file systems | 671 | long filenames. That includes non-compressed FAT-based file systems |
672 | used by Windows 95, Windows 98, Windows NT 4.0, and the Unix | 672 | used by Windows 95, Windows 98, Windows NT 4.0, and the Unix |
673 | programs from the mtools package. | 673 | programs from the mtools package. |
674 | 674 | ||
675 | The VFAT support enlarges your kernel by about 10 KB and it only | 675 | The VFAT support enlarges your kernel by about 10 KB and it only |
676 | works if you said Y to the "DOS FAT fs support" above. Please read | 676 | works if you said Y to the "DOS FAT fs support" above. Please read |
677 | the file <file:Documentation/filesystems/vfat.txt> for details. If | 677 | the file <file:Documentation/filesystems/vfat.txt> for details. If |
678 | unsure, say Y. | 678 | unsure, say Y. |
679 | 679 | ||
680 | To compile this as a module, choose M here: the module will be called | 680 | To compile this as a module, choose M here: the module will be called |
681 | vfat. | 681 | vfat. |
682 | 682 | ||
683 | config FAT_DEFAULT_CODEPAGE | 683 | config FAT_DEFAULT_CODEPAGE |
684 | int "Default codepage for FAT" | 684 | int "Default codepage for FAT" |
685 | depends on MSDOS_FS || VFAT_FS | 685 | depends on MSDOS_FS || VFAT_FS |
686 | default 437 | 686 | default 437 |
687 | help | 687 | help |
688 | This option should be set to the codepage of your FAT filesystems. | 688 | This option should be set to the codepage of your FAT filesystems. |
689 | It can be overridden with the "codepage" mount option. | 689 | It can be overridden with the "codepage" mount option. |
690 | See <file:Documentation/filesystems/vfat.txt> for more information. | 690 | See <file:Documentation/filesystems/vfat.txt> for more information. |
691 | 691 | ||
692 | config FAT_DEFAULT_IOCHARSET | 692 | config FAT_DEFAULT_IOCHARSET |
693 | string "Default iocharset for FAT" | 693 | string "Default iocharset for FAT" |
694 | depends on VFAT_FS | 694 | depends on VFAT_FS |
695 | default "iso8859-1" | 695 | default "iso8859-1" |
696 | help | 696 | help |
697 | Set this to the default input/output character set you'd | 697 | Set this to the default input/output character set you'd |
698 | like FAT to use. It should probably match the character set | 698 | like FAT to use. It should probably match the character set |
699 | that most of your FAT filesystems use, and can be overridden | 699 | that most of your FAT filesystems use, and can be overridden |
700 | with the "iocharset" mount option for FAT filesystems. | 700 | with the "iocharset" mount option for FAT filesystems. |
701 | Note that "utf8" is not recommended for FAT filesystems. | 701 | Note that "utf8" is not recommended for FAT filesystems. |
702 | If unsure, you shouldn't set "utf8" here. | 702 | If unsure, you shouldn't set "utf8" here. |
703 | See <file:Documentation/filesystems/vfat.txt> for more information. | 703 | See <file:Documentation/filesystems/vfat.txt> for more information. |
704 | 704 | ||
705 | config NTFS_FS | 705 | config NTFS_FS |
706 | tristate "NTFS file system support" | 706 | tristate "NTFS file system support" |
707 | select NLS | 707 | select NLS |
708 | help | 708 | help |
709 | NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003. | 709 | NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003. |
710 | 710 | ||
711 | Saying Y or M here enables read support. There is partial, but | 711 | Saying Y or M here enables read support. There is partial, but |
712 | safe, write support available. For write support you must also | 712 | safe, write support available. For write support you must also |
713 | say Y to "NTFS write support" below. | 713 | say Y to "NTFS write support" below. |
714 | 714 | ||
715 | There are also a number of user-space tools available, called | 715 | There are also a number of user-space tools available, called |
716 | ntfsprogs. These include ntfsundelete and ntfsresize, that work | 716 | ntfsprogs. These include ntfsundelete and ntfsresize, that work |
717 | without NTFS support enabled in the kernel. | 717 | without NTFS support enabled in the kernel. |
718 | 718 | ||
719 | This is a rewrite from scratch of Linux NTFS support and replaced | 719 | This is a rewrite from scratch of Linux NTFS support and replaced |
720 | the old NTFS code starting with Linux 2.5.11. A backport to | 720 | the old NTFS code starting with Linux 2.5.11. A backport to |
721 | the Linux 2.4 kernel series is separately available as a patch | 721 | the Linux 2.4 kernel series is separately available as a patch |
722 | from the project web site. | 722 | from the project web site. |
723 | 723 | ||
724 | For more information see <file:Documentation/filesystems/ntfs.txt> | 724 | For more information see <file:Documentation/filesystems/ntfs.txt> |
725 | and <http://linux-ntfs.sourceforge.net/>. | 725 | and <http://linux-ntfs.sourceforge.net/>. |
726 | 726 | ||
727 | To compile this file system support as a module, choose M here: the | 727 | To compile this file system support as a module, choose M here: the |
728 | module will be called ntfs. | 728 | module will be called ntfs. |
729 | 729 | ||
730 | If you are not using Windows NT, 2000, XP or 2003 in addition to | 730 | If you are not using Windows NT, 2000, XP or 2003 in addition to |
731 | Linux on your computer it is safe to say N. | 731 | Linux on your computer it is safe to say N. |
732 | 732 | ||
733 | config NTFS_DEBUG | 733 | config NTFS_DEBUG |
734 | bool "NTFS debugging support" | 734 | bool "NTFS debugging support" |
735 | depends on NTFS_FS | 735 | depends on NTFS_FS |
736 | help | 736 | help |
737 | If you are experiencing any problems with the NTFS file system, say | 737 | If you are experiencing any problems with the NTFS file system, say |
738 | Y here. This will result in additional consistency checks to be | 738 | Y here. This will result in additional consistency checks to be |
739 | performed by the driver as well as additional debugging messages to | 739 | performed by the driver as well as additional debugging messages to |
740 | be written to the system log. Note that debugging messages are | 740 | be written to the system log. Note that debugging messages are |
741 | disabled by default. To enable them, supply the option debug_msgs=1 | 741 | disabled by default. To enable them, supply the option debug_msgs=1 |
742 | at the kernel command line when booting the kernel or as an option | 742 | at the kernel command line when booting the kernel or as an option |
743 | to insmod when loading the ntfs module. Once the driver is active, | 743 | to insmod when loading the ntfs module. Once the driver is active, |
744 | you can enable debugging messages by doing (as root): | 744 | you can enable debugging messages by doing (as root): |
745 | echo 1 > /proc/sys/fs/ntfs-debug | 745 | echo 1 > /proc/sys/fs/ntfs-debug |
746 | Replacing the "1" with "0" would disable debug messages. | 746 | Replacing the "1" with "0" would disable debug messages. |
747 | 747 | ||
748 | If you leave debugging messages disabled, this results in little | 748 | If you leave debugging messages disabled, this results in little |
749 | overhead, but enabling debug messages results in very significant | 749 | overhead, but enabling debug messages results in very significant |
750 | slowdown of the system. | 750 | slowdown of the system. |
751 | 751 | ||
752 | When reporting bugs, please try to have available a full dump of | 752 | When reporting bugs, please try to have available a full dump of |
753 | debugging messages while the misbehaviour was occurring. | 753 | debugging messages while the misbehaviour was occurring. |
754 | 754 | ||
755 | config NTFS_RW | 755 | config NTFS_RW |
756 | bool "NTFS write support" | 756 | bool "NTFS write support" |
757 | depends on NTFS_FS | 757 | depends on NTFS_FS |
758 | help | 758 | help |
759 | This enables the partial, but safe, write support in the NTFS driver. | 759 | This enables the partial, but safe, write support in the NTFS driver. |
760 | 760 | ||
761 | The only supported operation is overwriting existing files, without | 761 | The only supported operation is overwriting existing files, without |
762 | changing the file length. No file or directory creation, deletion or | 762 | changing the file length. No file or directory creation, deletion or |
763 | renaming is possible. Note only non-resident files can be written to | 763 | renaming is possible. Note only non-resident files can be written to |
764 | so you may find that some very small files (<500 bytes or so) cannot | 764 | so you may find that some very small files (<500 bytes or so) cannot |
765 | be written to. | 765 | be written to. |
766 | 766 | ||
767 | While we cannot guarantee that it will not damage any data, we have | 767 | While we cannot guarantee that it will not damage any data, we have |
768 | so far not received a single report where the driver would have | 768 | so far not received a single report where the driver would have |
769 | damaged someones data so we assume it is perfectly safe to use. | 769 | damaged someones data so we assume it is perfectly safe to use. |
770 | 770 | ||
771 | Note: While write support is safe in this version (a rewrite from | 771 | Note: While write support is safe in this version (a rewrite from |
772 | scratch of the NTFS support), it should be noted that the old NTFS | 772 | scratch of the NTFS support), it should be noted that the old NTFS |
773 | write support, included in Linux 2.5.10 and before (since 1997), | 773 | write support, included in Linux 2.5.10 and before (since 1997), |
774 | is not safe. | 774 | is not safe. |
775 | 775 | ||
776 | This is currently useful with TopologiLinux. TopologiLinux is run | 776 | This is currently useful with TopologiLinux. TopologiLinux is run |
777 | on top of any DOS/Microsoft Windows system without partitioning your | 777 | on top of any DOS/Microsoft Windows system without partitioning your |
778 | hard disk. Unlike other Linux distributions TopologiLinux does not | 778 | hard disk. Unlike other Linux distributions TopologiLinux does not |
779 | need its own partition. For more information see | 779 | need its own partition. For more information see |
780 | <http://topologi-linux.sourceforge.net/> | 780 | <http://topologi-linux.sourceforge.net/> |
781 | 781 | ||
782 | It is perfectly safe to say N here. | 782 | It is perfectly safe to say N here. |
783 | 783 | ||
784 | endmenu | 784 | endmenu |
785 | 785 | ||
786 | menu "Pseudo filesystems" | 786 | menu "Pseudo filesystems" |
787 | 787 | ||
788 | config PROC_FS | 788 | config PROC_FS |
789 | bool "/proc file system support" if EMBEDDED | 789 | bool "/proc file system support" if EMBEDDED |
790 | default y | 790 | default y |
791 | help | 791 | help |
792 | This is a virtual file system providing information about the status | 792 | This is a virtual file system providing information about the status |
793 | of the system. "Virtual" means that it doesn't take up any space on | 793 | of the system. "Virtual" means that it doesn't take up any space on |
794 | your hard disk: the files are created on the fly by the kernel when | 794 | your hard disk: the files are created on the fly by the kernel when |
795 | you try to access them. Also, you cannot read the files with older | 795 | you try to access them. Also, you cannot read the files with older |
796 | version of the program less: you need to use more or cat. | 796 | version of the program less: you need to use more or cat. |
797 | 797 | ||
798 | It's totally cool; for example, "cat /proc/interrupts" gives | 798 | It's totally cool; for example, "cat /proc/interrupts" gives |
799 | information about what the different IRQs are used for at the moment | 799 | information about what the different IRQs are used for at the moment |
800 | (there is a small number of Interrupt ReQuest lines in your computer | 800 | (there is a small number of Interrupt ReQuest lines in your computer |
801 | that are used by the attached devices to gain the CPU's attention -- | 801 | that are used by the attached devices to gain the CPU's attention -- |
802 | often a source of trouble if two devices are mistakenly configured | 802 | often a source of trouble if two devices are mistakenly configured |
803 | to use the same IRQ). The program procinfo to display some | 803 | to use the same IRQ). The program procinfo to display some |
804 | information about your system gathered from the /proc file system. | 804 | information about your system gathered from the /proc file system. |
805 | 805 | ||
806 | Before you can use the /proc file system, it has to be mounted, | 806 | Before you can use the /proc file system, it has to be mounted, |
807 | meaning it has to be given a location in the directory hierarchy. | 807 | meaning it has to be given a location in the directory hierarchy. |
808 | That location should be /proc. A command such as "mount -t proc proc | 808 | That location should be /proc. A command such as "mount -t proc proc |
809 | /proc" or the equivalent line in /etc/fstab does the job. | 809 | /proc" or the equivalent line in /etc/fstab does the job. |
810 | 810 | ||
811 | The /proc file system is explained in the file | 811 | The /proc file system is explained in the file |
812 | <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage | 812 | <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage |
813 | ("man 5 proc"). | 813 | ("man 5 proc"). |
814 | 814 | ||
815 | This option will enlarge your kernel by about 67 KB. Several | 815 | This option will enlarge your kernel by about 67 KB. Several |
816 | programs depend on this, so everyone should say Y here. | 816 | programs depend on this, so everyone should say Y here. |
817 | 817 | ||
818 | config PROC_KCORE | 818 | config PROC_KCORE |
819 | bool "/proc/kcore support" if !ARM | 819 | bool "/proc/kcore support" if !ARM |
820 | depends on PROC_FS && MMU | 820 | depends on PROC_FS && MMU |
821 | 821 | ||
822 | config PROC_VMCORE | 822 | config PROC_VMCORE |
823 | bool "/proc/vmcore support (EXPERIMENTAL)" | 823 | bool "/proc/vmcore support (EXPERIMENTAL)" |
824 | depends on PROC_FS && EXPERIMENTAL && CRASH_DUMP | 824 | depends on PROC_FS && EXPERIMENTAL && CRASH_DUMP |
825 | default y | 825 | default y |
826 | help | 826 | help |
827 | Exports the dump image of crashed kernel in ELF format. | 827 | Exports the dump image of crashed kernel in ELF format. |
828 | 828 | ||
829 | config PROC_SYSCTL | 829 | config PROC_SYSCTL |
830 | bool "Sysctl support (/proc/sys)" if EMBEDDED | 830 | bool "Sysctl support (/proc/sys)" if EMBEDDED |
831 | depends on PROC_FS | 831 | depends on PROC_FS |
832 | select SYSCTL | 832 | select SYSCTL |
833 | default y | 833 | default y |
834 | ---help--- | 834 | ---help--- |
835 | The sysctl interface provides a means of dynamically changing | 835 | The sysctl interface provides a means of dynamically changing |
836 | certain kernel parameters and variables on the fly without requiring | 836 | certain kernel parameters and variables on the fly without requiring |
837 | a recompile of the kernel or reboot of the system. The primary | 837 | a recompile of the kernel or reboot of the system. The primary |
838 | interface is through /proc/sys. If you say Y here a tree of | 838 | interface is through /proc/sys. If you say Y here a tree of |
839 | modifiable sysctl entries will be generated beneath the | 839 | modifiable sysctl entries will be generated beneath the |
840 | /proc/sys directory. They are explained in the files | 840 | /proc/sys directory. They are explained in the files |
841 | in <file:Documentation/sysctl/>. Note that enabling this | 841 | in <file:Documentation/sysctl/>. Note that enabling this |
842 | option will enlarge the kernel by at least 8 KB. | 842 | option will enlarge the kernel by at least 8 KB. |
843 | 843 | ||
844 | As it is generally a good thing, you should say Y here unless | 844 | As it is generally a good thing, you should say Y here unless |
845 | building a kernel for install/rescue disks or your system is very | 845 | building a kernel for install/rescue disks or your system is very |
846 | limited in memory. | 846 | limited in memory. |
847 | 847 | ||
848 | config SYSFS | 848 | config SYSFS |
849 | bool "sysfs file system support" if EMBEDDED | 849 | bool "sysfs file system support" if EMBEDDED |
850 | default y | 850 | default y |
851 | help | 851 | help |
852 | The sysfs filesystem is a virtual filesystem that the kernel uses to | 852 | The sysfs filesystem is a virtual filesystem that the kernel uses to |
853 | export internal kernel objects, their attributes, and their | 853 | export internal kernel objects, their attributes, and their |
854 | relationships to one another. | 854 | relationships to one another. |
855 | 855 | ||
856 | Users can use sysfs to ascertain useful information about the running | 856 | Users can use sysfs to ascertain useful information about the running |
857 | kernel, such as the devices the kernel has discovered on each bus and | 857 | kernel, such as the devices the kernel has discovered on each bus and |
858 | which driver each is bound to. sysfs can also be used to tune devices | 858 | which driver each is bound to. sysfs can also be used to tune devices |
859 | and other kernel subsystems. | 859 | and other kernel subsystems. |
860 | 860 | ||
861 | Some system agents rely on the information in sysfs to operate. | 861 | Some system agents rely on the information in sysfs to operate. |
862 | /sbin/hotplug uses device and object attributes in sysfs to assist in | 862 | /sbin/hotplug uses device and object attributes in sysfs to assist in |
863 | delegating policy decisions, like persistantly naming devices. | 863 | delegating policy decisions, like persistantly naming devices. |
864 | 864 | ||
865 | sysfs is currently used by the block subsystem to mount the root | 865 | sysfs is currently used by the block subsystem to mount the root |
866 | partition. If sysfs is disabled you must specify the boot device on | 866 | partition. If sysfs is disabled you must specify the boot device on |
867 | the kernel boot command line via its major and minor numbers. For | 867 | the kernel boot command line via its major and minor numbers. For |
868 | example, "root=03:01" for /dev/hda1. | 868 | example, "root=03:01" for /dev/hda1. |
869 | 869 | ||
870 | Designers of embedded systems may wish to say N here to conserve space. | 870 | Designers of embedded systems may wish to say N here to conserve space. |
871 | 871 | ||
872 | config TMPFS | 872 | config TMPFS |
873 | bool "Virtual memory file system support (former shm fs)" | 873 | bool "Virtual memory file system support (former shm fs)" |
874 | help | 874 | help |
875 | Tmpfs is a file system which keeps all files in virtual memory. | 875 | Tmpfs is a file system which keeps all files in virtual memory. |
876 | 876 | ||
877 | Everything in tmpfs is temporary in the sense that no files will be | 877 | Everything in tmpfs is temporary in the sense that no files will be |
878 | created on your hard drive. The files live in memory and swap | 878 | created on your hard drive. The files live in memory and swap |
879 | space. If you unmount a tmpfs instance, everything stored therein is | 879 | space. If you unmount a tmpfs instance, everything stored therein is |
880 | lost. | 880 | lost. |
881 | 881 | ||
882 | See <file:Documentation/filesystems/tmpfs.txt> for details. | 882 | See <file:Documentation/filesystems/tmpfs.txt> for details. |
883 | 883 | ||
884 | config HUGETLBFS | 884 | config HUGETLBFS |
885 | bool "HugeTLB file system support" | 885 | bool "HugeTLB file system support" |
886 | depends X86 || IA64 || PPC64 || SPARC64 || SUPERH || BROKEN | 886 | depends X86 || IA64 || PPC64 || SPARC64 || SUPERH || BROKEN |
887 | help | 887 | help |
888 | hugetlbfs is a filesystem backing for HugeTLB pages, based on | 888 | hugetlbfs is a filesystem backing for HugeTLB pages, based on |
889 | ramfs. For architectures that support it, say Y here and read | 889 | ramfs. For architectures that support it, say Y here and read |
890 | <file:Documentation/vm/hugetlbpage.txt> for details. | 890 | <file:Documentation/vm/hugetlbpage.txt> for details. |
891 | 891 | ||
892 | If unsure, say N. | 892 | If unsure, say N. |
893 | 893 | ||
894 | config HUGETLB_PAGE | 894 | config HUGETLB_PAGE |
895 | def_bool HUGETLBFS | 895 | def_bool HUGETLBFS |
896 | 896 | ||
897 | config RAMFS | 897 | config RAMFS |
898 | bool | 898 | bool |
899 | default y | 899 | default y |
900 | ---help--- | 900 | ---help--- |
901 | Ramfs is a file system which keeps all files in RAM. It allows | 901 | Ramfs is a file system which keeps all files in RAM. It allows |
902 | read and write access. | 902 | read and write access. |
903 | 903 | ||
904 | It is more of an programming example than a useable file system. If | 904 | It is more of an programming example than a useable file system. If |
905 | you need a file system which lives in RAM with limit checking use | 905 | you need a file system which lives in RAM with limit checking use |
906 | tmpfs. | 906 | tmpfs. |
907 | 907 | ||
908 | To compile this as a module, choose M here: the module will be called | 908 | To compile this as a module, choose M here: the module will be called |
909 | ramfs. | 909 | ramfs. |
910 | 910 | ||
911 | config CONFIGFS_FS | 911 | config CONFIGFS_FS |
912 | tristate "Userspace-driven configuration filesystem (EXPERIMENTAL)" | 912 | tristate "Userspace-driven configuration filesystem (EXPERIMENTAL)" |
913 | depends on SYSFS && EXPERIMENTAL | 913 | depends on SYSFS && EXPERIMENTAL |
914 | help | 914 | help |
915 | configfs is a ram-based filesystem that provides the converse | 915 | configfs is a ram-based filesystem that provides the converse |
916 | of sysfs's functionality. Where sysfs is a filesystem-based | 916 | of sysfs's functionality. Where sysfs is a filesystem-based |
917 | view of kernel objects, configfs is a filesystem-based manager | 917 | view of kernel objects, configfs is a filesystem-based manager |
918 | of kernel objects, or config_items. | 918 | of kernel objects, or config_items. |
919 | 919 | ||
920 | Both sysfs and configfs can and should exist together on the | 920 | Both sysfs and configfs can and should exist together on the |
921 | same system. One is not a replacement for the other. | 921 | same system. One is not a replacement for the other. |
922 | 922 | ||
923 | endmenu | 923 | endmenu |
924 | 924 | ||
925 | menu "Miscellaneous filesystems" | 925 | menu "Miscellaneous filesystems" |
926 | 926 | ||
927 | config ADFS_FS | 927 | config ADFS_FS |
928 | tristate "ADFS file system support (EXPERIMENTAL)" | 928 | tristate "ADFS file system support (EXPERIMENTAL)" |
929 | depends on EXPERIMENTAL | 929 | depends on EXPERIMENTAL |
930 | help | 930 | help |
931 | The Acorn Disc Filing System is the standard file system of the | 931 | The Acorn Disc Filing System is the standard file system of the |
932 | RiscOS operating system which runs on Acorn's ARM-based Risc PC | 932 | RiscOS operating system which runs on Acorn's ARM-based Risc PC |
933 | systems and the Acorn Archimedes range of machines. If you say Y | 933 | systems and the Acorn Archimedes range of machines. If you say Y |
934 | here, Linux will be able to read from ADFS partitions on hard drives | 934 | here, Linux will be able to read from ADFS partitions on hard drives |
935 | and from ADFS-formatted floppy discs. If you also want to be able to | 935 | and from ADFS-formatted floppy discs. If you also want to be able to |
936 | write to those devices, say Y to "ADFS write support" below. | 936 | write to those devices, say Y to "ADFS write support" below. |
937 | 937 | ||
938 | The ADFS partition should be the first partition (i.e., | 938 | The ADFS partition should be the first partition (i.e., |
939 | /dev/[hs]d?1) on each of your drives. Please read the file | 939 | /dev/[hs]d?1) on each of your drives. Please read the file |
940 | <file:Documentation/filesystems/adfs.txt> for further details. | 940 | <file:Documentation/filesystems/adfs.txt> for further details. |
941 | 941 | ||
942 | To compile this code as a module, choose M here: the module will be | 942 | To compile this code as a module, choose M here: the module will be |
943 | called adfs. | 943 | called adfs. |
944 | 944 | ||
945 | If unsure, say N. | 945 | If unsure, say N. |
946 | 946 | ||
947 | config ADFS_FS_RW | 947 | config ADFS_FS_RW |
948 | bool "ADFS write support (DANGEROUS)" | 948 | bool "ADFS write support (DANGEROUS)" |
949 | depends on ADFS_FS | 949 | depends on ADFS_FS |
950 | help | 950 | help |
951 | If you say Y here, you will be able to write to ADFS partitions on | 951 | If you say Y here, you will be able to write to ADFS partitions on |
952 | hard drives and ADFS-formatted floppy disks. This is experimental | 952 | hard drives and ADFS-formatted floppy disks. This is experimental |
953 | codes, so if you're unsure, say N. | 953 | codes, so if you're unsure, say N. |
954 | 954 | ||
955 | config AFFS_FS | 955 | config AFFS_FS |
956 | tristate "Amiga FFS file system support (EXPERIMENTAL)" | 956 | tristate "Amiga FFS file system support (EXPERIMENTAL)" |
957 | depends on EXPERIMENTAL | 957 | depends on EXPERIMENTAL |
958 | help | 958 | help |
959 | The Fast File System (FFS) is the common file system used on hard | 959 | The Fast File System (FFS) is the common file system used on hard |
960 | disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Say Y | 960 | disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Say Y |
961 | if you want to be able to read and write files from and to an Amiga | 961 | if you want to be able to read and write files from and to an Amiga |
962 | FFS partition on your hard drive. Amiga floppies however cannot be | 962 | FFS partition on your hard drive. Amiga floppies however cannot be |
963 | read with this driver due to an incompatibility of the floppy | 963 | read with this driver due to an incompatibility of the floppy |
964 | controller used in an Amiga and the standard floppy controller in | 964 | controller used in an Amiga and the standard floppy controller in |
965 | PCs and workstations. Read <file:Documentation/filesystems/affs.txt> | 965 | PCs and workstations. Read <file:Documentation/filesystems/affs.txt> |
966 | and <file:fs/affs/Changes>. | 966 | and <file:fs/affs/Changes>. |
967 | 967 | ||
968 | With this driver you can also mount disk files used by Bernd | 968 | With this driver you can also mount disk files used by Bernd |
969 | Schmidt's Un*X Amiga Emulator | 969 | Schmidt's Un*X Amiga Emulator |
970 | (<http://www.freiburg.linux.de/~uae/>). | 970 | (<http://www.freiburg.linux.de/~uae/>). |
971 | If you want to do this, you will also need to say Y or M to "Loop | 971 | If you want to do this, you will also need to say Y or M to "Loop |
972 | device support", above. | 972 | device support", above. |
973 | 973 | ||
974 | To compile this file system support as a module, choose M here: the | 974 | To compile this file system support as a module, choose M here: the |
975 | module will be called affs. If unsure, say N. | 975 | module will be called affs. If unsure, say N. |
976 | 976 | ||
977 | config HFS_FS | 977 | config HFS_FS |
978 | tristate "Apple Macintosh file system support (EXPERIMENTAL)" | 978 | tristate "Apple Macintosh file system support (EXPERIMENTAL)" |
979 | depends on EXPERIMENTAL | 979 | depends on EXPERIMENTAL |
980 | select NLS | 980 | select NLS |
981 | help | 981 | help |
982 | If you say Y here, you will be able to mount Macintosh-formatted | 982 | If you say Y here, you will be able to mount Macintosh-formatted |
983 | floppy disks and hard drive partitions with full read-write access. | 983 | floppy disks and hard drive partitions with full read-write access. |
984 | Please read <file:fs/hfs/HFS.txt> to learn about the available mount | 984 | Please read <file:fs/hfs/HFS.txt> to learn about the available mount |
985 | options. | 985 | options. |
986 | 986 | ||
987 | To compile this file system support as a module, choose M here: the | 987 | To compile this file system support as a module, choose M here: the |
988 | module will be called hfs. | 988 | module will be called hfs. |
989 | 989 | ||
990 | config HFSPLUS_FS | 990 | config HFSPLUS_FS |
991 | tristate "Apple Extended HFS file system support" | 991 | tristate "Apple Extended HFS file system support" |
992 | select NLS | 992 | select NLS |
993 | select NLS_UTF8 | 993 | select NLS_UTF8 |
994 | help | 994 | help |
995 | If you say Y here, you will be able to mount extended format | 995 | If you say Y here, you will be able to mount extended format |
996 | Macintosh-formatted hard drive partitions with full read-write access. | 996 | Macintosh-formatted hard drive partitions with full read-write access. |
997 | 997 | ||
998 | This file system is often called HFS+ and was introduced with | 998 | This file system is often called HFS+ and was introduced with |
999 | MacOS 8. It includes all Mac specific filesystem data such as | 999 | MacOS 8. It includes all Mac specific filesystem data such as |
1000 | data forks and creator codes, but it also has several UNIX | 1000 | data forks and creator codes, but it also has several UNIX |
1001 | style features such as file ownership and permissions. | 1001 | style features such as file ownership and permissions. |
1002 | 1002 | ||
1003 | config BEFS_FS | 1003 | config BEFS_FS |
1004 | tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)" | 1004 | tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)" |
1005 | depends on EXPERIMENTAL | 1005 | depends on EXPERIMENTAL |
1006 | select NLS | 1006 | select NLS |
1007 | help | 1007 | help |
1008 | The BeOS File System (BeFS) is the native file system of Be, Inc's | 1008 | The BeOS File System (BeFS) is the native file system of Be, Inc's |
1009 | BeOS. Notable features include support for arbitrary attributes | 1009 | BeOS. Notable features include support for arbitrary attributes |
1010 | on files and directories, and database-like indeces on selected | 1010 | on files and directories, and database-like indeces on selected |
1011 | attributes. (Also note that this driver doesn't make those features | 1011 | attributes. (Also note that this driver doesn't make those features |
1012 | available at this time). It is a 64 bit filesystem, so it supports | 1012 | available at this time). It is a 64 bit filesystem, so it supports |
1013 | extremly large volumes and files. | 1013 | extremly large volumes and files. |
1014 | 1014 | ||
1015 | If you use this filesystem, you should also say Y to at least one | 1015 | If you use this filesystem, you should also say Y to at least one |
1016 | of the NLS (native language support) options below. | 1016 | of the NLS (native language support) options below. |
1017 | 1017 | ||
1018 | If you don't know what this is about, say N. | 1018 | If you don't know what this is about, say N. |
1019 | 1019 | ||
1020 | To compile this as a module, choose M here: the module will be | 1020 | To compile this as a module, choose M here: the module will be |
1021 | called befs. | 1021 | called befs. |
1022 | 1022 | ||
1023 | config BEFS_DEBUG | 1023 | config BEFS_DEBUG |
1024 | bool "Debug BeFS" | 1024 | bool "Debug BeFS" |
1025 | depends on BEFS_FS | 1025 | depends on BEFS_FS |
1026 | help | 1026 | help |
1027 | If you say Y here, you can use the 'debug' mount option to enable | 1027 | If you say Y here, you can use the 'debug' mount option to enable |
1028 | debugging output from the driver. | 1028 | debugging output from the driver. |
1029 | 1029 | ||
1030 | config BFS_FS | 1030 | config BFS_FS |
1031 | tristate "BFS file system support (EXPERIMENTAL)" | 1031 | tristate "BFS file system support (EXPERIMENTAL)" |
1032 | depends on EXPERIMENTAL | 1032 | depends on EXPERIMENTAL |
1033 | help | 1033 | help |
1034 | Boot File System (BFS) is a file system used under SCO UnixWare to | 1034 | Boot File System (BFS) is a file system used under SCO UnixWare to |
1035 | allow the bootloader access to the kernel image and other important | 1035 | allow the bootloader access to the kernel image and other important |
1036 | files during the boot process. It is usually mounted under /stand | 1036 | files during the boot process. It is usually mounted under /stand |
1037 | and corresponds to the slice marked as "STAND" in the UnixWare | 1037 | and corresponds to the slice marked as "STAND" in the UnixWare |
1038 | partition. You should say Y if you want to read or write the files | 1038 | partition. You should say Y if you want to read or write the files |
1039 | on your /stand slice from within Linux. You then also need to say Y | 1039 | on your /stand slice from within Linux. You then also need to say Y |
1040 | to "UnixWare slices support", below. More information about the BFS | 1040 | to "UnixWare slices support", below. More information about the BFS |
1041 | file system is contained in the file | 1041 | file system is contained in the file |
1042 | <file:Documentation/filesystems/bfs.txt>. | 1042 | <file:Documentation/filesystems/bfs.txt>. |
1043 | 1043 | ||
1044 | If you don't know what this is about, say N. | 1044 | If you don't know what this is about, say N. |
1045 | 1045 | ||
1046 | To compile this as a module, choose M here: the module will be called | 1046 | To compile this as a module, choose M here: the module will be called |
1047 | bfs. Note that the file system of your root partition (the one | 1047 | bfs. Note that the file system of your root partition (the one |
1048 | containing the directory /) cannot be compiled as a module. | 1048 | containing the directory /) cannot be compiled as a module. |
1049 | 1049 | ||
1050 | 1050 | ||
1051 | 1051 | ||
1052 | config EFS_FS | 1052 | config EFS_FS |
1053 | tristate "EFS file system support (read only) (EXPERIMENTAL)" | 1053 | tristate "EFS file system support (read only) (EXPERIMENTAL)" |
1054 | depends on EXPERIMENTAL | 1054 | depends on EXPERIMENTAL |
1055 | help | 1055 | help |
1056 | EFS is an older file system used for non-ISO9660 CD-ROMs and hard | 1056 | EFS is an older file system used for non-ISO9660 CD-ROMs and hard |
1057 | disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer | 1057 | disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer |
1058 | uses the XFS file system for hard disk partitions however). | 1058 | uses the XFS file system for hard disk partitions however). |
1059 | 1059 | ||
1060 | This implementation only offers read-only access. If you don't know | 1060 | This implementation only offers read-only access. If you don't know |
1061 | what all this is about, it's safe to say N. For more information | 1061 | what all this is about, it's safe to say N. For more information |
1062 | about EFS see its home page at <http://aeschi.ch.eu.org/efs/>. | 1062 | about EFS see its home page at <http://aeschi.ch.eu.org/efs/>. |
1063 | 1063 | ||
1064 | To compile the EFS file system support as a module, choose M here: the | 1064 | To compile the EFS file system support as a module, choose M here: the |
1065 | module will be called efs. | 1065 | module will be called efs. |
1066 | 1066 | ||
1067 | config JFFS_FS | 1067 | config JFFS_FS |
1068 | tristate "Journalling Flash File System (JFFS) support" | 1068 | tristate "Journalling Flash File System (JFFS) support" |
1069 | depends on MTD | 1069 | depends on MTD |
1070 | help | 1070 | help |
1071 | JFFS is the Journaling Flash File System developed by Axis | 1071 | JFFS is the Journaling Flash File System developed by Axis |
1072 | Communications in Sweden, aimed at providing a crash/powerdown-safe | 1072 | Communications in Sweden, aimed at providing a crash/powerdown-safe |
1073 | file system for disk-less embedded devices. Further information is | 1073 | file system for disk-less embedded devices. Further information is |
1074 | available at (<http://developer.axis.com/software/jffs/>). | 1074 | available at (<http://developer.axis.com/software/jffs/>). |
1075 | 1075 | ||
1076 | config JFFS_FS_VERBOSE | 1076 | config JFFS_FS_VERBOSE |
1077 | int "JFFS debugging verbosity (0 = quiet, 3 = noisy)" | 1077 | int "JFFS debugging verbosity (0 = quiet, 3 = noisy)" |
1078 | depends on JFFS_FS | 1078 | depends on JFFS_FS |
1079 | default "0" | 1079 | default "0" |
1080 | help | 1080 | help |
1081 | Determines the verbosity level of the JFFS debugging messages. | 1081 | Determines the verbosity level of the JFFS debugging messages. |
1082 | 1082 | ||
1083 | config JFFS_PROC_FS | 1083 | config JFFS_PROC_FS |
1084 | bool "JFFS stats available in /proc filesystem" | 1084 | bool "JFFS stats available in /proc filesystem" |
1085 | depends on JFFS_FS && PROC_FS | 1085 | depends on JFFS_FS && PROC_FS |
1086 | help | 1086 | help |
1087 | Enabling this option will cause statistics from mounted JFFS file systems | 1087 | Enabling this option will cause statistics from mounted JFFS file systems |
1088 | to be made available to the user in the /proc/fs/jffs/ directory. | 1088 | to be made available to the user in the /proc/fs/jffs/ directory. |
1089 | 1089 | ||
1090 | config JFFS2_FS | 1090 | config JFFS2_FS |
1091 | tristate "Journalling Flash File System v2 (JFFS2) support" | 1091 | tristate "Journalling Flash File System v2 (JFFS2) support" |
1092 | select CRC32 | 1092 | select CRC32 |
1093 | depends on MTD | 1093 | depends on MTD |
1094 | help | 1094 | help |
1095 | JFFS2 is the second generation of the Journalling Flash File System | 1095 | JFFS2 is the second generation of the Journalling Flash File System |
1096 | for use on diskless embedded devices. It provides improved wear | 1096 | for use on diskless embedded devices. It provides improved wear |
1097 | levelling, compression and support for hard links. You cannot use | 1097 | levelling, compression and support for hard links. You cannot use |
1098 | this on normal block devices, only on 'MTD' devices. | 1098 | this on normal block devices, only on 'MTD' devices. |
1099 | 1099 | ||
1100 | Further information on the design and implementation of JFFS2 is | 1100 | Further information on the design and implementation of JFFS2 is |
1101 | available at <http://sources.redhat.com/jffs2/>. | 1101 | available at <http://sources.redhat.com/jffs2/>. |
1102 | 1102 | ||
1103 | config JFFS2_FS_DEBUG | 1103 | config JFFS2_FS_DEBUG |
1104 | int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" | 1104 | int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" |
1105 | depends on JFFS2_FS | 1105 | depends on JFFS2_FS |
1106 | default "0" | 1106 | default "0" |
1107 | help | 1107 | help |
1108 | This controls the amount of debugging messages produced by the JFFS2 | 1108 | This controls the amount of debugging messages produced by the JFFS2 |
1109 | code. Set it to zero for use in production systems. For evaluation, | 1109 | code. Set it to zero for use in production systems. For evaluation, |
1110 | testing and debugging, it's advisable to set it to one. This will | 1110 | testing and debugging, it's advisable to set it to one. This will |
1111 | enable a few assertions and will print debugging messages at the | 1111 | enable a few assertions and will print debugging messages at the |
1112 | KERN_DEBUG loglevel, where they won't normally be visible. Level 2 | 1112 | KERN_DEBUG loglevel, where they won't normally be visible. Level 2 |
1113 | is unlikely to be useful - it enables extra debugging in certain | 1113 | is unlikely to be useful - it enables extra debugging in certain |
1114 | areas which at one point needed debugging, but when the bugs were | 1114 | areas which at one point needed debugging, but when the bugs were |
1115 | located and fixed, the detailed messages were relegated to level 2. | 1115 | located and fixed, the detailed messages were relegated to level 2. |
1116 | 1116 | ||
1117 | If reporting bugs, please try to have available a full dump of the | 1117 | If reporting bugs, please try to have available a full dump of the |
1118 | messages at debug level 1 while the misbehaviour was occurring. | 1118 | messages at debug level 1 while the misbehaviour was occurring. |
1119 | 1119 | ||
1120 | config JFFS2_FS_WRITEBUFFER | 1120 | config JFFS2_FS_WRITEBUFFER |
1121 | bool "JFFS2 write-buffering support" | 1121 | bool "JFFS2 write-buffering support" |
1122 | depends on JFFS2_FS | 1122 | depends on JFFS2_FS |
1123 | default y | 1123 | default y |
1124 | help | 1124 | help |
1125 | This enables the write-buffering support in JFFS2. | 1125 | This enables the write-buffering support in JFFS2. |
1126 | 1126 | ||
1127 | This functionality is required to support JFFS2 on the following | 1127 | This functionality is required to support JFFS2 on the following |
1128 | types of flash devices: | 1128 | types of flash devices: |
1129 | - NAND flash | 1129 | - NAND flash |
1130 | - NOR flash with transparent ECC | 1130 | - NOR flash with transparent ECC |
1131 | - DataFlash | 1131 | - DataFlash |
1132 | 1132 | ||
1133 | config JFFS2_SUMMARY | 1133 | config JFFS2_SUMMARY |
1134 | bool "JFFS2 summary support (EXPERIMENTAL)" | 1134 | bool "JFFS2 summary support (EXPERIMENTAL)" |
1135 | depends on JFFS2_FS && EXPERIMENTAL | 1135 | depends on JFFS2_FS && EXPERIMENTAL |
1136 | default n | 1136 | default n |
1137 | help | 1137 | help |
1138 | This feature makes it possible to use summary information | 1138 | This feature makes it possible to use summary information |
1139 | for faster filesystem mount. | 1139 | for faster filesystem mount. |
1140 | 1140 | ||
1141 | The summary information can be inserted into a filesystem image | 1141 | The summary information can be inserted into a filesystem image |
1142 | by the utility 'sumtool'. | 1142 | by the utility 'sumtool'. |
1143 | 1143 | ||
1144 | If unsure, say 'N'. | 1144 | If unsure, say 'N'. |
1145 | 1145 | ||
1146 | config JFFS2_FS_XATTR | 1146 | config JFFS2_FS_XATTR |
1147 | bool "JFFS2 XATTR support (EXPERIMENTAL)" | 1147 | bool "JFFS2 XATTR support (EXPERIMENTAL)" |
1148 | depends on JFFS2_FS && EXPERIMENTAL | 1148 | depends on JFFS2_FS && EXPERIMENTAL |
1149 | default n | 1149 | default n |
1150 | help | 1150 | help |
1151 | Extended attributes are name:value pairs associated with inodes by | 1151 | Extended attributes are name:value pairs associated with inodes by |
1152 | the kernel or by users (see the attr(5) manual page, or visit | 1152 | the kernel or by users (see the attr(5) manual page, or visit |
1153 | <http://acl.bestbits.at/> for details). | 1153 | <http://acl.bestbits.at/> for details). |
1154 | 1154 | ||
1155 | If unsure, say N. | 1155 | If unsure, say N. |
1156 | 1156 | ||
1157 | config JFFS2_FS_POSIX_ACL | 1157 | config JFFS2_FS_POSIX_ACL |
1158 | bool "JFFS2 POSIX Access Control Lists" | 1158 | bool "JFFS2 POSIX Access Control Lists" |
1159 | depends on JFFS2_FS_XATTR | 1159 | depends on JFFS2_FS_XATTR |
1160 | default y | 1160 | default y |
1161 | select FS_POSIX_ACL | 1161 | select FS_POSIX_ACL |
1162 | help | 1162 | help |
1163 | Posix Access Control Lists (ACLs) support permissions for users and | 1163 | Posix Access Control Lists (ACLs) support permissions for users and |
1164 | groups beyond the owner/group/world scheme. | 1164 | groups beyond the owner/group/world scheme. |
1165 | 1165 | ||
1166 | To learn more about Access Control Lists, visit the Posix ACLs for | 1166 | To learn more about Access Control Lists, visit the Posix ACLs for |
1167 | Linux website <http://acl.bestbits.at/>. | 1167 | Linux website <http://acl.bestbits.at/>. |
1168 | 1168 | ||
1169 | If you don't know what Access Control Lists are, say N | 1169 | If you don't know what Access Control Lists are, say N |
1170 | 1170 | ||
1171 | config JFFS2_FS_SECURITY | 1171 | config JFFS2_FS_SECURITY |
1172 | bool "JFFS2 Security Labels" | 1172 | bool "JFFS2 Security Labels" |
1173 | depends on JFFS2_FS_XATTR | 1173 | depends on JFFS2_FS_XATTR |
1174 | default y | 1174 | default y |
1175 | help | 1175 | help |
1176 | Security labels support alternative access control models | 1176 | Security labels support alternative access control models |
1177 | implemented by security modules like SELinux. This option | 1177 | implemented by security modules like SELinux. This option |
1178 | enables an extended attribute handler for file security | 1178 | enables an extended attribute handler for file security |
1179 | labels in the jffs2 filesystem. | 1179 | labels in the jffs2 filesystem. |
1180 | 1180 | ||
1181 | If you are not using a security module that requires using | 1181 | If you are not using a security module that requires using |
1182 | extended attributes for file security labels, say N. | 1182 | extended attributes for file security labels, say N. |
1183 | 1183 | ||
1184 | config JFFS2_COMPRESSION_OPTIONS | 1184 | config JFFS2_COMPRESSION_OPTIONS |
1185 | bool "Advanced compression options for JFFS2" | 1185 | bool "Advanced compression options for JFFS2" |
1186 | depends on JFFS2_FS | 1186 | depends on JFFS2_FS |
1187 | default n | 1187 | default n |
1188 | help | 1188 | help |
1189 | Enabling this option allows you to explicitly choose which | 1189 | Enabling this option allows you to explicitly choose which |
1190 | compression modules, if any, are enabled in JFFS2. Removing | 1190 | compression modules, if any, are enabled in JFFS2. Removing |
1191 | compressors and mean you cannot read existing file systems, | 1191 | compressors and mean you cannot read existing file systems, |
1192 | and enabling experimental compressors can mean that you | 1192 | and enabling experimental compressors can mean that you |
1193 | write a file system which cannot be read by a standard kernel. | 1193 | write a file system which cannot be read by a standard kernel. |
1194 | 1194 | ||
1195 | If unsure, you should _definitely_ say 'N'. | 1195 | If unsure, you should _definitely_ say 'N'. |
1196 | 1196 | ||
1197 | config JFFS2_ZLIB | 1197 | config JFFS2_ZLIB |
1198 | bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS | 1198 | bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS |
1199 | select ZLIB_INFLATE | 1199 | select ZLIB_INFLATE |
1200 | select ZLIB_DEFLATE | 1200 | select ZLIB_DEFLATE |
1201 | depends on JFFS2_FS | 1201 | depends on JFFS2_FS |
1202 | default y | 1202 | default y |
1203 | help | 1203 | help |
1204 | Zlib is designed to be a free, general-purpose, legally unencumbered, | 1204 | Zlib is designed to be a free, general-purpose, legally unencumbered, |
1205 | lossless data-compression library for use on virtually any computer | 1205 | lossless data-compression library for use on virtually any computer |
1206 | hardware and operating system. See <http://www.gzip.org/zlib/> for | 1206 | hardware and operating system. See <http://www.gzip.org/zlib/> for |
1207 | further information. | 1207 | further information. |
1208 | 1208 | ||
1209 | Say 'Y' if unsure. | 1209 | Say 'Y' if unsure. |
1210 | 1210 | ||
1211 | config JFFS2_RTIME | 1211 | config JFFS2_RTIME |
1212 | bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS | 1212 | bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS |
1213 | depends on JFFS2_FS | 1213 | depends on JFFS2_FS |
1214 | default y | 1214 | default y |
1215 | help | 1215 | help |
1216 | Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. | 1216 | Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. |
1217 | 1217 | ||
1218 | config JFFS2_RUBIN | 1218 | config JFFS2_RUBIN |
1219 | bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS | 1219 | bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS |
1220 | depends on JFFS2_FS | 1220 | depends on JFFS2_FS |
1221 | default n | 1221 | default n |
1222 | help | 1222 | help |
1223 | RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. | 1223 | RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. |
1224 | 1224 | ||
1225 | choice | 1225 | choice |
1226 | prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS | 1226 | prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS |
1227 | default JFFS2_CMODE_PRIORITY | 1227 | default JFFS2_CMODE_PRIORITY |
1228 | depends on JFFS2_FS | 1228 | depends on JFFS2_FS |
1229 | help | 1229 | help |
1230 | You can set here the default compression mode of JFFS2 from | 1230 | You can set here the default compression mode of JFFS2 from |
1231 | the available compression modes. Don't touch if unsure. | 1231 | the available compression modes. Don't touch if unsure. |
1232 | 1232 | ||
1233 | config JFFS2_CMODE_NONE | 1233 | config JFFS2_CMODE_NONE |
1234 | bool "no compression" | 1234 | bool "no compression" |
1235 | help | 1235 | help |
1236 | Uses no compression. | 1236 | Uses no compression. |
1237 | 1237 | ||
1238 | config JFFS2_CMODE_PRIORITY | 1238 | config JFFS2_CMODE_PRIORITY |
1239 | bool "priority" | 1239 | bool "priority" |
1240 | help | 1240 | help |
1241 | Tries the compressors in a predefinied order and chooses the first | 1241 | Tries the compressors in a predefinied order and chooses the first |
1242 | successful one. | 1242 | successful one. |
1243 | 1243 | ||
1244 | config JFFS2_CMODE_SIZE | 1244 | config JFFS2_CMODE_SIZE |
1245 | bool "size (EXPERIMENTAL)" | 1245 | bool "size (EXPERIMENTAL)" |
1246 | help | 1246 | help |
1247 | Tries all compressors and chooses the one which has the smallest | 1247 | Tries all compressors and chooses the one which has the smallest |
1248 | result. | 1248 | result. |
1249 | 1249 | ||
1250 | endchoice | 1250 | endchoice |
1251 | 1251 | ||
1252 | config CRAMFS | 1252 | config CRAMFS |
1253 | tristate "Compressed ROM file system support (cramfs)" | 1253 | tristate "Compressed ROM file system support (cramfs)" |
1254 | select ZLIB_INFLATE | 1254 | select ZLIB_INFLATE |
1255 | help | 1255 | help |
1256 | Saying Y here includes support for CramFs (Compressed ROM File | 1256 | Saying Y here includes support for CramFs (Compressed ROM File |
1257 | System). CramFs is designed to be a simple, small, and compressed | 1257 | System). CramFs is designed to be a simple, small, and compressed |
1258 | file system for ROM based embedded systems. CramFs is read-only, | 1258 | file system for ROM based embedded systems. CramFs is read-only, |
1259 | limited to 256MB file systems (with 16MB files), and doesn't support | 1259 | limited to 256MB file systems (with 16MB files), and doesn't support |
1260 | 16/32 bits uid/gid, hard links and timestamps. | 1260 | 16/32 bits uid/gid, hard links and timestamps. |
1261 | 1261 | ||
1262 | See <file:Documentation/filesystems/cramfs.txt> and | 1262 | See <file:Documentation/filesystems/cramfs.txt> and |
1263 | <file:fs/cramfs/README> for further information. | 1263 | <file:fs/cramfs/README> for further information. |
1264 | 1264 | ||
1265 | To compile this as a module, choose M here: the module will be called | 1265 | To compile this as a module, choose M here: the module will be called |
1266 | cramfs. Note that the root file system (the one containing the | 1266 | cramfs. Note that the root file system (the one containing the |
1267 | directory /) cannot be compiled as a module. | 1267 | directory /) cannot be compiled as a module. |
1268 | 1268 | ||
1269 | If unsure, say N. | 1269 | If unsure, say N. |
1270 | 1270 | ||
1271 | config VXFS_FS | 1271 | config VXFS_FS |
1272 | tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" | 1272 | tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" |
1273 | help | 1273 | help |
1274 | FreeVxFS is a file system driver that support the VERITAS VxFS(TM) | 1274 | FreeVxFS is a file system driver that support the VERITAS VxFS(TM) |
1275 | file system format. VERITAS VxFS(TM) is the standard file system | 1275 | file system format. VERITAS VxFS(TM) is the standard file system |
1276 | of SCO UnixWare (and possibly others) and optionally available | 1276 | of SCO UnixWare (and possibly others) and optionally available |
1277 | for Sunsoft Solaris, HP-UX and many other operating systems. | 1277 | for Sunsoft Solaris, HP-UX and many other operating systems. |
1278 | Currently only readonly access is supported. | 1278 | Currently only readonly access is supported. |
1279 | 1279 | ||
1280 | NOTE: the file system type as used by mount(1), mount(2) and | 1280 | NOTE: the file system type as used by mount(1), mount(2) and |
1281 | fstab(5) is 'vxfs' as it describes the file system format, not | 1281 | fstab(5) is 'vxfs' as it describes the file system format, not |
1282 | the actual driver. | 1282 | the actual driver. |
1283 | 1283 | ||
1284 | To compile this as a module, choose M here: the module will be | 1284 | To compile this as a module, choose M here: the module will be |
1285 | called freevxfs. If unsure, say N. | 1285 | called freevxfs. If unsure, say N. |
1286 | 1286 | ||
1287 | 1287 | ||
1288 | config HPFS_FS | 1288 | config HPFS_FS |
1289 | tristate "OS/2 HPFS file system support" | 1289 | tristate "OS/2 HPFS file system support" |
1290 | help | 1290 | help |
1291 | OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS | 1291 | OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS |
1292 | is the file system used for organizing files on OS/2 hard disk | 1292 | is the file system used for organizing files on OS/2 hard disk |
1293 | partitions. Say Y if you want to be able to read files from and | 1293 | partitions. Say Y if you want to be able to read files from and |
1294 | write files to an OS/2 HPFS partition on your hard drive. OS/2 | 1294 | write files to an OS/2 HPFS partition on your hard drive. OS/2 |
1295 | floppies however are in regular MSDOS format, so you don't need this | 1295 | floppies however are in regular MSDOS format, so you don't need this |
1296 | option in order to be able to read them. Read | 1296 | option in order to be able to read them. Read |
1297 | <file:Documentation/filesystems/hpfs.txt>. | 1297 | <file:Documentation/filesystems/hpfs.txt>. |
1298 | 1298 | ||
1299 | To compile this file system support as a module, choose M here: the | 1299 | To compile this file system support as a module, choose M here: the |
1300 | module will be called hpfs. If unsure, say N. | 1300 | module will be called hpfs. If unsure, say N. |
1301 | 1301 | ||
1302 | 1302 | ||
1303 | 1303 | ||
1304 | config QNX4FS_FS | 1304 | config QNX4FS_FS |
1305 | tristate "QNX4 file system support (read only)" | 1305 | tristate "QNX4 file system support (read only)" |
1306 | help | 1306 | help |
1307 | This is the file system used by the real-time operating systems | 1307 | This is the file system used by the real-time operating systems |
1308 | QNX 4 and QNX 6 (the latter is also called QNX RTP). | 1308 | QNX 4 and QNX 6 (the latter is also called QNX RTP). |
1309 | Further information is available at <http://www.qnx.com/>. | 1309 | Further information is available at <http://www.qnx.com/>. |
1310 | Say Y if you intend to mount QNX hard disks or floppies. | 1310 | Say Y if you intend to mount QNX hard disks or floppies. |
1311 | Unless you say Y to "QNX4FS read-write support" below, you will | 1311 | Unless you say Y to "QNX4FS read-write support" below, you will |
1312 | only be able to read these file systems. | 1312 | only be able to read these file systems. |
1313 | 1313 | ||
1314 | To compile this file system support as a module, choose M here: the | 1314 | To compile this file system support as a module, choose M here: the |
1315 | module will be called qnx4. | 1315 | module will be called qnx4. |
1316 | 1316 | ||
1317 | If you don't know whether you need it, then you don't need it: | 1317 | If you don't know whether you need it, then you don't need it: |
1318 | answer N. | 1318 | answer N. |
1319 | 1319 | ||
1320 | config QNX4FS_RW | 1320 | config QNX4FS_RW |
1321 | bool "QNX4FS write support (DANGEROUS)" | 1321 | bool "QNX4FS write support (DANGEROUS)" |
1322 | depends on QNX4FS_FS && EXPERIMENTAL && BROKEN | 1322 | depends on QNX4FS_FS && EXPERIMENTAL && BROKEN |
1323 | help | 1323 | help |
1324 | Say Y if you want to test write support for QNX4 file systems. | 1324 | Say Y if you want to test write support for QNX4 file systems. |
1325 | 1325 | ||
1326 | It's currently broken, so for now: | 1326 | It's currently broken, so for now: |
1327 | answer N. | 1327 | answer N. |
1328 | 1328 | ||
1329 | 1329 | ||
1330 | 1330 | ||
1331 | config SYSV_FS | 1331 | config SYSV_FS |
1332 | tristate "System V/Xenix/V7/Coherent file system support" | 1332 | tristate "System V/Xenix/V7/Coherent file system support" |
1333 | help | 1333 | help |
1334 | SCO, Xenix and Coherent are commercial Unix systems for Intel | 1334 | SCO, Xenix and Coherent are commercial Unix systems for Intel |
1335 | machines, and Version 7 was used on the DEC PDP-11. Saying Y | 1335 | machines, and Version 7 was used on the DEC PDP-11. Saying Y |
1336 | here would allow you to read from their floppies and hard disk | 1336 | here would allow you to read from their floppies and hard disk |
1337 | partitions. | 1337 | partitions. |
1338 | 1338 | ||
1339 | If you have floppies or hard disk partitions like that, it is likely | 1339 | If you have floppies or hard disk partitions like that, it is likely |
1340 | that they contain binaries from those other Unix systems; in order | 1340 | that they contain binaries from those other Unix systems; in order |
1341 | to run these binaries, you will want to install linux-abi which is a | 1341 | to run these binaries, you will want to install linux-abi which is a |
1342 | a set of kernel modules that lets you run SCO, Xenix, Wyse, | 1342 | a set of kernel modules that lets you run SCO, Xenix, Wyse, |
1343 | UnixWare, Dell Unix and System V programs under Linux. It is | 1343 | UnixWare, Dell Unix and System V programs under Linux. It is |
1344 | available via FTP (user: ftp) from | 1344 | available via FTP (user: ftp) from |
1345 | <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>). | 1345 | <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>). |
1346 | NOTE: that will work only for binaries from Intel-based systems; | 1346 | NOTE: that will work only for binaries from Intel-based systems; |
1347 | PDP ones will have to wait until somebody ports Linux to -11 ;-) | 1347 | PDP ones will have to wait until somebody ports Linux to -11 ;-) |
1348 | 1348 | ||
1349 | If you only intend to mount files from some other Unix over the | 1349 | If you only intend to mount files from some other Unix over the |
1350 | network using NFS, you don't need the System V file system support | 1350 | network using NFS, you don't need the System V file system support |
1351 | (but you need NFS file system support obviously). | 1351 | (but you need NFS file system support obviously). |
1352 | 1352 | ||
1353 | Note that this option is generally not needed for floppies, since a | 1353 | Note that this option is generally not needed for floppies, since a |
1354 | good portable way to transport files and directories between unixes | 1354 | good portable way to transport files and directories between unixes |
1355 | (and even other operating systems) is given by the tar program ("man | 1355 | (and even other operating systems) is given by the tar program ("man |
1356 | tar" or preferably "info tar"). Note also that this option has | 1356 | tar" or preferably "info tar"). Note also that this option has |
1357 | nothing whatsoever to do with the option "System V IPC". Read about | 1357 | nothing whatsoever to do with the option "System V IPC". Read about |
1358 | the System V file system in | 1358 | the System V file system in |
1359 | <file:Documentation/filesystems/sysv-fs.txt>. | 1359 | <file:Documentation/filesystems/sysv-fs.txt>. |
1360 | Saying Y here will enlarge your kernel by about 27 KB. | 1360 | Saying Y here will enlarge your kernel by about 27 KB. |
1361 | 1361 | ||
1362 | To compile this as a module, choose M here: the module will be called | 1362 | To compile this as a module, choose M here: the module will be called |
1363 | sysv. | 1363 | sysv. |
1364 | 1364 | ||
1365 | If you haven't heard about all of this before, it's safe to say N. | 1365 | If you haven't heard about all of this before, it's safe to say N. |
1366 | 1366 | ||
1367 | 1367 | ||
1368 | 1368 | ||
1369 | config UFS_FS | 1369 | config UFS_FS |
1370 | tristate "UFS file system support (read only)" | 1370 | tristate "UFS file system support (read only)" |
1371 | help | 1371 | help |
1372 | BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD, | 1372 | BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD, |
1373 | OpenBSD and NeXTstep) use a file system called UFS. Some System V | 1373 | OpenBSD and NeXTstep) use a file system called UFS. Some System V |
1374 | Unixes can create and mount hard disk partitions and diskettes using | 1374 | Unixes can create and mount hard disk partitions and diskettes using |
1375 | this file system as well. Saying Y here will allow you to read from | 1375 | this file system as well. Saying Y here will allow you to read from |
1376 | these partitions; if you also want to write to them, say Y to the | 1376 | these partitions; if you also want to write to them, say Y to the |
1377 | experimental "UFS file system write support", below. Please read the | 1377 | experimental "UFS file system write support", below. Please read the |
1378 | file <file:Documentation/filesystems/ufs.txt> for more information. | 1378 | file <file:Documentation/filesystems/ufs.txt> for more information. |
1379 | 1379 | ||
1380 | The recently released UFS2 variant (used in FreeBSD 5.x) is | 1380 | The recently released UFS2 variant (used in FreeBSD 5.x) is |
1381 | READ-ONLY supported. | 1381 | READ-ONLY supported. |
1382 | 1382 | ||
1383 | If you only intend to mount files from some other Unix over the | 1383 | If you only intend to mount files from some other Unix over the |
1384 | network using NFS, you don't need the UFS file system support (but | 1384 | network using NFS, you don't need the UFS file system support (but |
1385 | you need NFS file system support obviously). | 1385 | you need NFS file system support obviously). |
1386 | 1386 | ||
1387 | Note that this option is generally not needed for floppies, since a | 1387 | Note that this option is generally not needed for floppies, since a |
1388 | good portable way to transport files and directories between unixes | 1388 | good portable way to transport files and directories between unixes |
1389 | (and even other operating systems) is given by the tar program ("man | 1389 | (and even other operating systems) is given by the tar program ("man |
1390 | tar" or preferably "info tar"). | 1390 | tar" or preferably "info tar"). |
1391 | 1391 | ||
1392 | When accessing NeXTstep files, you may need to convert them from the | 1392 | When accessing NeXTstep files, you may need to convert them from the |
1393 | NeXT character set to the Latin1 character set; use the program | 1393 | NeXT character set to the Latin1 character set; use the program |
1394 | recode ("info recode") for this purpose. | 1394 | recode ("info recode") for this purpose. |
1395 | 1395 | ||
1396 | To compile the UFS file system support as a module, choose M here: the | 1396 | To compile the UFS file system support as a module, choose M here: the |
1397 | module will be called ufs. | 1397 | module will be called ufs. |
1398 | 1398 | ||
1399 | If you haven't heard about all of this before, it's safe to say N. | 1399 | If you haven't heard about all of this before, it's safe to say N. |
1400 | 1400 | ||
1401 | config UFS_FS_WRITE | 1401 | config UFS_FS_WRITE |
1402 | bool "UFS file system write support (DANGEROUS)" | 1402 | bool "UFS file system write support (DANGEROUS)" |
1403 | depends on UFS_FS && EXPERIMENTAL | 1403 | depends on UFS_FS && EXPERIMENTAL |
1404 | help | 1404 | help |
1405 | Say Y here if you want to try writing to UFS partitions. This is | 1405 | Say Y here if you want to try writing to UFS partitions. This is |
1406 | experimental, so you should back up your UFS partitions beforehand. | 1406 | experimental, so you should back up your UFS partitions beforehand. |
1407 | 1407 | ||
1408 | config UFS_DEBUG | 1408 | config UFS_DEBUG |
1409 | bool "UFS debugging" | 1409 | bool "UFS debugging" |
1410 | depends on UFS_FS | 1410 | depends on UFS_FS |
1411 | help | 1411 | help |
1412 | If you are experiencing any problems with the UFS filesystem, say | 1412 | If you are experiencing any problems with the UFS filesystem, say |
1413 | Y here. This will result in _many_ additional debugging messages to be | 1413 | Y here. This will result in _many_ additional debugging messages to be |
1414 | written to the system log. | 1414 | written to the system log. |
1415 | 1415 | ||
1416 | endmenu | 1416 | endmenu |
1417 | 1417 | ||
1418 | menu "Network File Systems" | 1418 | menu "Network File Systems" |
1419 | depends on NET | 1419 | depends on NET |
1420 | 1420 | ||
1421 | config NFS_FS | 1421 | config NFS_FS |
1422 | tristate "NFS file system support" | 1422 | tristate "NFS file system support" |
1423 | depends on INET | 1423 | depends on INET |
1424 | select LOCKD | 1424 | select LOCKD |
1425 | select SUNRPC | 1425 | select SUNRPC |
1426 | select NFS_ACL_SUPPORT if NFS_V3_ACL | 1426 | select NFS_ACL_SUPPORT if NFS_V3_ACL |
1427 | help | 1427 | help |
1428 | If you are connected to some other (usually local) Unix computer | 1428 | If you are connected to some other (usually local) Unix computer |
1429 | (using SLIP, PLIP, PPP or Ethernet) and want to mount files residing | 1429 | (using SLIP, PLIP, PPP or Ethernet) and want to mount files residing |
1430 | on that computer (the NFS server) using the Network File Sharing | 1430 | on that computer (the NFS server) using the Network File Sharing |
1431 | protocol, say Y. "Mounting files" means that the client can access | 1431 | protocol, say Y. "Mounting files" means that the client can access |
1432 | the files with usual UNIX commands as if they were sitting on the | 1432 | the files with usual UNIX commands as if they were sitting on the |
1433 | client's hard disk. For this to work, the server must run the | 1433 | client's hard disk. For this to work, the server must run the |
1434 | programs nfsd and mountd (but does not need to have NFS file system | 1434 | programs nfsd and mountd (but does not need to have NFS file system |
1435 | support enabled in its kernel). NFS is explained in the Network | 1435 | support enabled in its kernel). NFS is explained in the Network |
1436 | Administrator's Guide, available from | 1436 | Administrator's Guide, available from |
1437 | <http://www.tldp.org/docs.html#guide>, on its man page: "man | 1437 | <http://www.tldp.org/docs.html#guide>, on its man page: "man |
1438 | nfs", and in the NFS-HOWTO. | 1438 | nfs", and in the NFS-HOWTO. |
1439 | 1439 | ||
1440 | A superior but less widely used alternative to NFS is provided by | 1440 | A superior but less widely used alternative to NFS is provided by |
1441 | the Coda file system; see "Coda file system support" below. | 1441 | the Coda file system; see "Coda file system support" below. |
1442 | 1442 | ||
1443 | If you say Y here, you should have said Y to TCP/IP networking also. | 1443 | If you say Y here, you should have said Y to TCP/IP networking also. |
1444 | This option would enlarge your kernel by about 27 KB. | 1444 | This option would enlarge your kernel by about 27 KB. |
1445 | 1445 | ||
1446 | To compile this file system support as a module, choose M here: the | 1446 | To compile this file system support as a module, choose M here: the |
1447 | module will be called nfs. | 1447 | module will be called nfs. |
1448 | 1448 | ||
1449 | If you are configuring a diskless machine which will mount its root | 1449 | If you are configuring a diskless machine which will mount its root |
1450 | file system over NFS at boot time, say Y here and to "Kernel | 1450 | file system over NFS at boot time, say Y here and to "Kernel |
1451 | level IP autoconfiguration" above and to "Root file system on NFS" | 1451 | level IP autoconfiguration" above and to "Root file system on NFS" |
1452 | below. You cannot compile this driver as a module in this case. | 1452 | below. You cannot compile this driver as a module in this case. |
1453 | There are two packages designed for booting diskless machines over | 1453 | There are two packages designed for booting diskless machines over |
1454 | the net: netboot, available from | 1454 | the net: netboot, available from |
1455 | <http://ftp1.sourceforge.net/netboot/>, and Etherboot, | 1455 | <http://ftp1.sourceforge.net/netboot/>, and Etherboot, |
1456 | available from <http://ftp1.sourceforge.net/etherboot/>. | 1456 | available from <http://ftp1.sourceforge.net/etherboot/>. |
1457 | 1457 | ||
1458 | If you don't know what all this is about, say N. | 1458 | If you don't know what all this is about, say N. |
1459 | 1459 | ||
1460 | config NFS_V3 | 1460 | config NFS_V3 |
1461 | bool "Provide NFSv3 client support" | 1461 | bool "Provide NFSv3 client support" |
1462 | depends on NFS_FS | 1462 | depends on NFS_FS |
1463 | help | 1463 | help |
1464 | Say Y here if you want your NFS client to be able to speak version | 1464 | Say Y here if you want your NFS client to be able to speak version |
1465 | 3 of the NFS protocol. | 1465 | 3 of the NFS protocol. |
1466 | 1466 | ||
1467 | If unsure, say Y. | 1467 | If unsure, say Y. |
1468 | 1468 | ||
1469 | config NFS_V3_ACL | 1469 | config NFS_V3_ACL |
1470 | bool "Provide client support for the NFSv3 ACL protocol extension" | 1470 | bool "Provide client support for the NFSv3 ACL protocol extension" |
1471 | depends on NFS_V3 | 1471 | depends on NFS_V3 |
1472 | help | 1472 | help |
1473 | Implement the NFSv3 ACL protocol extension for manipulating POSIX | 1473 | Implement the NFSv3 ACL protocol extension for manipulating POSIX |
1474 | Access Control Lists. The server should also be compiled with | 1474 | Access Control Lists. The server should also be compiled with |
1475 | the NFSv3 ACL protocol extension; see the CONFIG_NFSD_V3_ACL option. | 1475 | the NFSv3 ACL protocol extension; see the CONFIG_NFSD_V3_ACL option. |
1476 | 1476 | ||
1477 | If unsure, say N. | 1477 | If unsure, say N. |
1478 | 1478 | ||
1479 | config NFS_V4 | 1479 | config NFS_V4 |
1480 | bool "Provide NFSv4 client support (EXPERIMENTAL)" | 1480 | bool "Provide NFSv4 client support (EXPERIMENTAL)" |
1481 | depends on NFS_FS && EXPERIMENTAL | 1481 | depends on NFS_FS && EXPERIMENTAL |
1482 | select RPCSEC_GSS_KRB5 | 1482 | select RPCSEC_GSS_KRB5 |
1483 | help | 1483 | help |
1484 | Say Y here if you want your NFS client to be able to speak the newer | 1484 | Say Y here if you want your NFS client to be able to speak the newer |
1485 | version 4 of the NFS protocol. | 1485 | version 4 of the NFS protocol. |
1486 | 1486 | ||
1487 | Note: Requires auxiliary userspace daemons which may be found on | 1487 | Note: Requires auxiliary userspace daemons which may be found on |
1488 | http://www.citi.umich.edu/projects/nfsv4/ | 1488 | http://www.citi.umich.edu/projects/nfsv4/ |
1489 | 1489 | ||
1490 | If unsure, say N. | 1490 | If unsure, say N. |
1491 | 1491 | ||
1492 | config NFS_DIRECTIO | 1492 | config NFS_DIRECTIO |
1493 | bool "Allow direct I/O on NFS files" | 1493 | bool "Allow direct I/O on NFS files" |
1494 | depends on NFS_FS | 1494 | depends on NFS_FS |
1495 | help | 1495 | help |
1496 | This option enables applications to perform uncached I/O on files | 1496 | This option enables applications to perform uncached I/O on files |
1497 | in NFS file systems using the O_DIRECT open() flag. When O_DIRECT | 1497 | in NFS file systems using the O_DIRECT open() flag. When O_DIRECT |
1498 | is set for a file, its data is not cached in the system's page | 1498 | is set for a file, its data is not cached in the system's page |
1499 | cache. Data is moved to and from user-level application buffers | 1499 | cache. Data is moved to and from user-level application buffers |
1500 | directly. Unlike local disk-based file systems, NFS O_DIRECT has | 1500 | directly. Unlike local disk-based file systems, NFS O_DIRECT has |
1501 | no alignment restrictions. | 1501 | no alignment restrictions. |
1502 | 1502 | ||
1503 | Unless your program is designed to use O_DIRECT properly, you are | 1503 | Unless your program is designed to use O_DIRECT properly, you are |
1504 | much better off allowing the NFS client to manage data caching for | 1504 | much better off allowing the NFS client to manage data caching for |
1505 | you. Misusing O_DIRECT can cause poor server performance or network | 1505 | you. Misusing O_DIRECT can cause poor server performance or network |
1506 | storms. This kernel build option defaults OFF to avoid exposing | 1506 | storms. This kernel build option defaults OFF to avoid exposing |
1507 | system administrators unwittingly to a potentially hazardous | 1507 | system administrators unwittingly to a potentially hazardous |
1508 | feature. | 1508 | feature. |
1509 | 1509 | ||
1510 | For more details on NFS O_DIRECT, see fs/nfs/direct.c. | 1510 | For more details on NFS O_DIRECT, see fs/nfs/direct.c. |
1511 | 1511 | ||
1512 | If unsure, say N. This reduces the size of the NFS client, and | 1512 | If unsure, say N. This reduces the size of the NFS client, and |
1513 | causes open() to return EINVAL if a file residing in NFS is | 1513 | causes open() to return EINVAL if a file residing in NFS is |
1514 | opened with the O_DIRECT flag. | 1514 | opened with the O_DIRECT flag. |
1515 | 1515 | ||
1516 | config NFSD | 1516 | config NFSD |
1517 | tristate "NFS server support" | 1517 | tristate "NFS server support" |
1518 | depends on INET | 1518 | depends on INET |
1519 | select LOCKD | 1519 | select LOCKD |
1520 | select SUNRPC | 1520 | select SUNRPC |
1521 | select EXPORTFS | 1521 | select EXPORTFS |
1522 | select NFSD_V2_ACL if NFSD_V3_ACL | 1522 | select NFSD_V2_ACL if NFSD_V3_ACL |
1523 | select NFS_ACL_SUPPORT if NFSD_V2_ACL | 1523 | select NFS_ACL_SUPPORT if NFSD_V2_ACL |
1524 | select NFSD_TCP if NFSD_V4 | 1524 | select NFSD_TCP if NFSD_V4 |
1525 | select CRYPTO_MD5 if NFSD_V4 | 1525 | select CRYPTO_MD5 if NFSD_V4 |
1526 | select CRYPTO if NFSD_V4 | 1526 | select CRYPTO if NFSD_V4 |
1527 | select FS_POSIX_ACL if NFSD_V4 | 1527 | select FS_POSIX_ACL if NFSD_V4 |
1528 | help | 1528 | help |
1529 | If you want your Linux box to act as an NFS *server*, so that other | 1529 | If you want your Linux box to act as an NFS *server*, so that other |
1530 | computers on your local network which support NFS can access certain | 1530 | computers on your local network which support NFS can access certain |
1531 | directories on your box transparently, you have two options: you can | 1531 | directories on your box transparently, you have two options: you can |
1532 | use the self-contained user space program nfsd, in which case you | 1532 | use the self-contained user space program nfsd, in which case you |
1533 | should say N here, or you can say Y and use the kernel based NFS | 1533 | should say N here, or you can say Y and use the kernel based NFS |
1534 | server. The advantage of the kernel based solution is that it is | 1534 | server. The advantage of the kernel based solution is that it is |
1535 | faster. | 1535 | faster. |
1536 | 1536 | ||
1537 | In either case, you will need support software; the respective | 1537 | In either case, you will need support software; the respective |
1538 | locations are given in the file <file:Documentation/Changes> in the | 1538 | locations are given in the file <file:Documentation/Changes> in the |
1539 | NFS section. | 1539 | NFS section. |
1540 | 1540 | ||
1541 | If you say Y here, you will get support for version 2 of the NFS | 1541 | If you say Y here, you will get support for version 2 of the NFS |
1542 | protocol (NFSv2). If you also want NFSv3, say Y to the next question | 1542 | protocol (NFSv2). If you also want NFSv3, say Y to the next question |
1543 | as well. | 1543 | as well. |
1544 | 1544 | ||
1545 | Please read the NFS-HOWTO, available from | 1545 | Please read the NFS-HOWTO, available from |
1546 | <http://www.tldp.org/docs.html#howto>. | 1546 | <http://www.tldp.org/docs.html#howto>. |
1547 | 1547 | ||
1548 | To compile the NFS server support as a module, choose M here: the | 1548 | To compile the NFS server support as a module, choose M here: the |
1549 | module will be called nfsd. If unsure, say N. | 1549 | module will be called nfsd. If unsure, say N. |
1550 | 1550 | ||
1551 | config NFSD_V2_ACL | 1551 | config NFSD_V2_ACL |
1552 | bool | 1552 | bool |
1553 | depends on NFSD | 1553 | depends on NFSD |
1554 | 1554 | ||
1555 | config NFSD_V3 | 1555 | config NFSD_V3 |
1556 | bool "Provide NFSv3 server support" | 1556 | bool "Provide NFSv3 server support" |
1557 | depends on NFSD | 1557 | depends on NFSD |
1558 | help | 1558 | help |
1559 | If you would like to include the NFSv3 server as well as the NFSv2 | 1559 | If you would like to include the NFSv3 server as well as the NFSv2 |
1560 | server, say Y here. If unsure, say Y. | 1560 | server, say Y here. If unsure, say Y. |
1561 | 1561 | ||
1562 | config NFSD_V3_ACL | 1562 | config NFSD_V3_ACL |
1563 | bool "Provide server support for the NFSv3 ACL protocol extension" | 1563 | bool "Provide server support for the NFSv3 ACL protocol extension" |
1564 | depends on NFSD_V3 | 1564 | depends on NFSD_V3 |
1565 | help | 1565 | help |
1566 | Implement the NFSv3 ACL protocol extension for manipulating POSIX | 1566 | Implement the NFSv3 ACL protocol extension for manipulating POSIX |
1567 | Access Control Lists on exported file systems. NFS clients should | 1567 | Access Control Lists on exported file systems. NFS clients should |
1568 | be compiled with the NFSv3 ACL protocol extension; see the | 1568 | be compiled with the NFSv3 ACL protocol extension; see the |
1569 | CONFIG_NFS_V3_ACL option. If unsure, say N. | 1569 | CONFIG_NFS_V3_ACL option. If unsure, say N. |
1570 | 1570 | ||
1571 | config NFSD_V4 | 1571 | config NFSD_V4 |
1572 | bool "Provide NFSv4 server support (EXPERIMENTAL)" | 1572 | bool "Provide NFSv4 server support (EXPERIMENTAL)" |
1573 | depends on NFSD_V3 && EXPERIMENTAL | 1573 | depends on NFSD_V3 && EXPERIMENTAL |
1574 | help | 1574 | help |
1575 | If you would like to include the NFSv4 server as well as the NFSv2 | 1575 | If you would like to include the NFSv4 server as well as the NFSv2 |
1576 | and NFSv3 servers, say Y here. This feature is experimental, and | 1576 | and NFSv3 servers, say Y here. This feature is experimental, and |
1577 | should only be used if you are interested in helping to test NFSv4. | 1577 | should only be used if you are interested in helping to test NFSv4. |
1578 | If unsure, say N. | 1578 | If unsure, say N. |
1579 | 1579 | ||
1580 | config NFSD_TCP | 1580 | config NFSD_TCP |
1581 | bool "Provide NFS server over TCP support" | 1581 | bool "Provide NFS server over TCP support" |
1582 | depends on NFSD | 1582 | depends on NFSD |
1583 | default y | 1583 | default y |
1584 | help | 1584 | help |
1585 | If you want your NFS server to support TCP connections, say Y here. | 1585 | If you want your NFS server to support TCP connections, say Y here. |
1586 | TCP connections usually perform better than the default UDP when | 1586 | TCP connections usually perform better than the default UDP when |
1587 | the network is lossy or congested. If unsure, say Y. | 1587 | the network is lossy or congested. If unsure, say Y. |
1588 | 1588 | ||
1589 | config ROOT_NFS | 1589 | config ROOT_NFS |
1590 | bool "Root file system on NFS" | 1590 | bool "Root file system on NFS" |
1591 | depends on NFS_FS=y && IP_PNP | 1591 | depends on NFS_FS=y && IP_PNP |
1592 | help | 1592 | help |
1593 | If you want your Linux box to mount its whole root file system (the | 1593 | If you want your Linux box to mount its whole root file system (the |
1594 | one containing the directory /) from some other computer over the | 1594 | one containing the directory /) from some other computer over the |
1595 | net via NFS (presumably because your box doesn't have a hard disk), | 1595 | net via NFS (presumably because your box doesn't have a hard disk), |
1596 | say Y. Read <file:Documentation/nfsroot.txt> for details. It is | 1596 | say Y. Read <file:Documentation/nfsroot.txt> for details. It is |
1597 | likely that in this case, you also want to say Y to "Kernel level IP | 1597 | likely that in this case, you also want to say Y to "Kernel level IP |
1598 | autoconfiguration" so that your box can discover its network address | 1598 | autoconfiguration" so that your box can discover its network address |
1599 | at boot time. | 1599 | at boot time. |
1600 | 1600 | ||
1601 | Most people say N here. | 1601 | Most people say N here. |
1602 | 1602 | ||
1603 | config LOCKD | 1603 | config LOCKD |
1604 | tristate | 1604 | tristate |
1605 | 1605 | ||
1606 | config LOCKD_V4 | 1606 | config LOCKD_V4 |
1607 | bool | 1607 | bool |
1608 | depends on NFSD_V3 || NFS_V3 | 1608 | depends on NFSD_V3 || NFS_V3 |
1609 | default y | 1609 | default y |
1610 | 1610 | ||
1611 | config EXPORTFS | 1611 | config EXPORTFS |
1612 | tristate | 1612 | tristate |
1613 | 1613 | ||
1614 | config NFS_ACL_SUPPORT | 1614 | config NFS_ACL_SUPPORT |
1615 | tristate | 1615 | tristate |
1616 | select FS_POSIX_ACL | 1616 | select FS_POSIX_ACL |
1617 | 1617 | ||
1618 | config NFS_COMMON | 1618 | config NFS_COMMON |
1619 | bool | 1619 | bool |
1620 | depends on NFSD || NFS_FS | 1620 | depends on NFSD || NFS_FS |
1621 | default y | 1621 | default y |
1622 | 1622 | ||
1623 | config SUNRPC | 1623 | config SUNRPC |
1624 | tristate | 1624 | tristate |
1625 | 1625 | ||
1626 | config SUNRPC_GSS | 1626 | config SUNRPC_GSS |
1627 | tristate | 1627 | tristate |
1628 | 1628 | ||
1629 | config RPCSEC_GSS_KRB5 | 1629 | config RPCSEC_GSS_KRB5 |
1630 | tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" | 1630 | tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" |
1631 | depends on SUNRPC && EXPERIMENTAL | 1631 | depends on SUNRPC && EXPERIMENTAL |
1632 | select SUNRPC_GSS | 1632 | select SUNRPC_GSS |
1633 | select CRYPTO | 1633 | select CRYPTO |
1634 | select CRYPTO_MD5 | 1634 | select CRYPTO_MD5 |
1635 | select CRYPTO_DES | 1635 | select CRYPTO_DES |
1636 | help | 1636 | help |
1637 | Provides for secure RPC calls by means of a gss-api | 1637 | Provides for secure RPC calls by means of a gss-api |
1638 | mechanism based on Kerberos V5. This is required for | 1638 | mechanism based on Kerberos V5. This is required for |
1639 | NFSv4. | 1639 | NFSv4. |
1640 | 1640 | ||
1641 | Note: Requires an auxiliary userspace daemon which may be found on | 1641 | Note: Requires an auxiliary userspace daemon which may be found on |
1642 | http://www.citi.umich.edu/projects/nfsv4/ | 1642 | http://www.citi.umich.edu/projects/nfsv4/ |
1643 | 1643 | ||
1644 | If unsure, say N. | 1644 | If unsure, say N. |
1645 | 1645 | ||
1646 | config RPCSEC_GSS_SPKM3 | 1646 | config RPCSEC_GSS_SPKM3 |
1647 | tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)" | 1647 | tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)" |
1648 | depends on SUNRPC && EXPERIMENTAL | 1648 | depends on SUNRPC && EXPERIMENTAL |
1649 | select SUNRPC_GSS | 1649 | select SUNRPC_GSS |
1650 | select CRYPTO | 1650 | select CRYPTO |
1651 | select CRYPTO_MD5 | 1651 | select CRYPTO_MD5 |
1652 | select CRYPTO_DES | 1652 | select CRYPTO_DES |
1653 | select CRYPTO_CAST5 | 1653 | select CRYPTO_CAST5 |
1654 | help | 1654 | help |
1655 | Provides for secure RPC calls by means of a gss-api | 1655 | Provides for secure RPC calls by means of a gss-api |
1656 | mechanism based on the SPKM3 public-key mechanism. | 1656 | mechanism based on the SPKM3 public-key mechanism. |
1657 | 1657 | ||
1658 | Note: Requires an auxiliary userspace daemon which may be found on | 1658 | Note: Requires an auxiliary userspace daemon which may be found on |
1659 | http://www.citi.umich.edu/projects/nfsv4/ | 1659 | http://www.citi.umich.edu/projects/nfsv4/ |
1660 | 1660 | ||
1661 | If unsure, say N. | 1661 | If unsure, say N. |
1662 | 1662 | ||
1663 | config SMB_FS | 1663 | config SMB_FS |
1664 | tristate "SMB file system support (to mount Windows shares etc.)" | 1664 | tristate "SMB file system support (to mount Windows shares etc.)" |
1665 | depends on INET | 1665 | depends on INET |
1666 | select NLS | 1666 | select NLS |
1667 | help | 1667 | help |
1668 | SMB (Server Message Block) is the protocol Windows for Workgroups | 1668 | SMB (Server Message Block) is the protocol Windows for Workgroups |
1669 | (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share | 1669 | (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share |
1670 | files and printers over local networks. Saying Y here allows you to | 1670 | files and printers over local networks. Saying Y here allows you to |
1671 | mount their file systems (often called "shares" in this context) and | 1671 | mount their file systems (often called "shares" in this context) and |
1672 | access them just like any other Unix directory. Currently, this | 1672 | access them just like any other Unix directory. Currently, this |
1673 | works only if the Windows machines use TCP/IP as the underlying | 1673 | works only if the Windows machines use TCP/IP as the underlying |
1674 | transport protocol, and not NetBEUI. For details, read | 1674 | transport protocol, and not NetBEUI. For details, read |
1675 | <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO, | 1675 | <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO, |
1676 | available from <http://www.tldp.org/docs.html#howto>. | 1676 | available from <http://www.tldp.org/docs.html#howto>. |
1677 | 1677 | ||
1678 | Note: if you just want your box to act as an SMB *server* and make | 1678 | Note: if you just want your box to act as an SMB *server* and make |
1679 | files and printing services available to Windows clients (which need | 1679 | files and printing services available to Windows clients (which need |
1680 | to have a TCP/IP stack), you don't need to say Y here; you can use | 1680 | to have a TCP/IP stack), you don't need to say Y here; you can use |
1681 | the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>) | 1681 | the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>) |
1682 | for that. | 1682 | for that. |
1683 | 1683 | ||
1684 | General information about how to connect Linux, Windows machines and | 1684 | General information about how to connect Linux, Windows machines and |
1685 | Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. | 1685 | Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. |
1686 | 1686 | ||
1687 | To compile the SMB support as a module, choose M here: the module will | 1687 | To compile the SMB support as a module, choose M here: the module will |
1688 | be called smbfs. Most people say N, however. | 1688 | be called smbfs. Most people say N, however. |
1689 | 1689 | ||
1690 | config SMB_NLS_DEFAULT | 1690 | config SMB_NLS_DEFAULT |
1691 | bool "Use a default NLS" | 1691 | bool "Use a default NLS" |
1692 | depends on SMB_FS | 1692 | depends on SMB_FS |
1693 | help | 1693 | help |
1694 | Enabling this will make smbfs use nls translations by default. You | 1694 | Enabling this will make smbfs use nls translations by default. You |
1695 | need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls | 1695 | need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls |
1696 | settings and you need to give the default nls for the SMB server as | 1696 | settings and you need to give the default nls for the SMB server as |
1697 | CONFIG_SMB_NLS_REMOTE. | 1697 | CONFIG_SMB_NLS_REMOTE. |
1698 | 1698 | ||
1699 | The nls settings can be changed at mount time, if your smbmount | 1699 | The nls settings can be changed at mount time, if your smbmount |
1700 | supports that, using the codepage and iocharset parameters. | 1700 | supports that, using the codepage and iocharset parameters. |
1701 | 1701 | ||
1702 | smbmount from samba 2.2.0 or later supports this. | 1702 | smbmount from samba 2.2.0 or later supports this. |
1703 | 1703 | ||
1704 | config SMB_NLS_REMOTE | 1704 | config SMB_NLS_REMOTE |
1705 | string "Default Remote NLS Option" | 1705 | string "Default Remote NLS Option" |
1706 | depends on SMB_NLS_DEFAULT | 1706 | depends on SMB_NLS_DEFAULT |
1707 | default "cp437" | 1707 | default "cp437" |
1708 | help | 1708 | help |
1709 | This setting allows you to specify a default value for which | 1709 | This setting allows you to specify a default value for which |
1710 | codepage the server uses. If this field is left blank no | 1710 | codepage the server uses. If this field is left blank no |
1711 | translations will be done by default. The local codepage/charset | 1711 | translations will be done by default. The local codepage/charset |
1712 | default to CONFIG_NLS_DEFAULT. | 1712 | default to CONFIG_NLS_DEFAULT. |
1713 | 1713 | ||
1714 | The nls settings can be changed at mount time, if your smbmount | 1714 | The nls settings can be changed at mount time, if your smbmount |
1715 | supports that, using the codepage and iocharset parameters. | 1715 | supports that, using the codepage and iocharset parameters. |
1716 | 1716 | ||
1717 | smbmount from samba 2.2.0 or later supports this. | 1717 | smbmount from samba 2.2.0 or later supports this. |
1718 | 1718 | ||
1719 | config CIFS | 1719 | config CIFS |
1720 | tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)" | 1720 | tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)" |
1721 | depends on INET | 1721 | depends on INET |
1722 | select NLS | 1722 | select NLS |
1723 | help | 1723 | help |
1724 | This is the client VFS module for the Common Internet File System | 1724 | This is the client VFS module for the Common Internet File System |
1725 | (CIFS) protocol which is the successor to the Server Message Block | 1725 | (CIFS) protocol which is the successor to the Server Message Block |
1726 | (SMB) protocol, the native file sharing mechanism for most early | 1726 | (SMB) protocol, the native file sharing mechanism for most early |
1727 | PC operating systems. The CIFS protocol is fully supported by | 1727 | PC operating systems. The CIFS protocol is fully supported by |
1728 | file servers such as Windows 2000 (including Windows 2003, NT 4 | 1728 | file servers such as Windows 2000 (including Windows 2003, NT 4 |
1729 | and Windows XP) as well by Samba (which provides excellent CIFS | 1729 | and Windows XP) as well by Samba (which provides excellent CIFS |
1730 | server support for Linux and many other operating systems). Limited | 1730 | server support for Linux and many other operating systems). Limited |
1731 | support for Windows ME and similar servers is provided as well. | 1731 | support for Windows ME and similar servers is provided as well. |
1732 | You must use the smbfs client filesystem to access older SMB servers | 1732 | You must use the smbfs client filesystem to access older SMB servers |
1733 | such as OS/2 and DOS. | 1733 | such as OS/2 and DOS. |
1734 | 1734 | ||
1735 | The intent of the cifs module is to provide an advanced | 1735 | The intent of the cifs module is to provide an advanced |
1736 | network file system client for mounting to CIFS compliant servers, | 1736 | network file system client for mounting to CIFS compliant servers, |
1737 | including support for dfs (hierarchical name space), secure per-user | 1737 | including support for dfs (hierarchical name space), secure per-user |
1738 | session establishment, safe distributed caching (oplock), optional | 1738 | session establishment, safe distributed caching (oplock), optional |
1739 | packet signing, Unicode and other internationalization improvements, | 1739 | packet signing, Unicode and other internationalization improvements, |
1740 | and optional Winbind (nsswitch) integration. You do not need to enable | 1740 | and optional Winbind (nsswitch) integration. You do not need to enable |
1741 | cifs if running only a (Samba) server. It is possible to enable both | 1741 | cifs if running only a (Samba) server. It is possible to enable both |
1742 | smbfs and cifs (e.g. if you are using CIFS for accessing Windows 2003 | 1742 | smbfs and cifs (e.g. if you are using CIFS for accessing Windows 2003 |
1743 | and Samba 3 servers, and smbfs for accessing old servers). If you need | 1743 | and Samba 3 servers, and smbfs for accessing old servers). If you need |
1744 | to mount to Samba or Windows from this machine, say Y. | 1744 | to mount to Samba or Windows from this machine, say Y. |
1745 | 1745 | ||
1746 | config CIFS_STATS | 1746 | config CIFS_STATS |
1747 | bool "CIFS statistics" | 1747 | bool "CIFS statistics" |
1748 | depends on CIFS | 1748 | depends on CIFS |
1749 | help | 1749 | help |
1750 | Enabling this option will cause statistics for each server share | 1750 | Enabling this option will cause statistics for each server share |
1751 | mounted by the cifs client to be displayed in /proc/fs/cifs/Stats | 1751 | mounted by the cifs client to be displayed in /proc/fs/cifs/Stats |
1752 | 1752 | ||
1753 | config CIFS_STATS2 | 1753 | config CIFS_STATS2 |
1754 | bool "Extended statistics" | 1754 | bool "Extended statistics" |
1755 | depends on CIFS_STATS | 1755 | depends on CIFS_STATS |
1756 | help | 1756 | help |
1757 | Enabling this option will allow more detailed statistics on SMB | 1757 | Enabling this option will allow more detailed statistics on SMB |
1758 | request timing to be displayed in /proc/fs/cifs/DebugData and also | 1758 | request timing to be displayed in /proc/fs/cifs/DebugData and also |
1759 | allow optional logging of slow responses to dmesg (depending on the | 1759 | allow optional logging of slow responses to dmesg (depending on the |
1760 | value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details). | 1760 | value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details). |
1761 | These additional statistics may have a minor effect on performance | 1761 | These additional statistics may have a minor effect on performance |
1762 | and memory utilization. | 1762 | and memory utilization. |
1763 | 1763 | ||
1764 | Unless you are a developer or are doing network performance analysis | 1764 | Unless you are a developer or are doing network performance analysis |
1765 | or tuning, say N. | 1765 | or tuning, say N. |
1766 | 1766 | ||
1767 | config CIFS_WEAK_PW_HASH | 1767 | config CIFS_WEAK_PW_HASH |
1768 | bool "Support legacy servers which use weaker LANMAN security" | 1768 | bool "Support legacy servers which use weaker LANMAN security" |
1769 | depends on CIFS | 1769 | depends on CIFS |
1770 | help | 1770 | help |
1771 | Modern CIFS servers including Samba and most Windows versions | 1771 | Modern CIFS servers including Samba and most Windows versions |
1772 | (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos) | 1772 | (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos) |
1773 | security mechanisms. These hash the password more securely | 1773 | security mechanisms. These hash the password more securely |
1774 | than the mechanisms used in the older LANMAN version of the | 1774 | than the mechanisms used in the older LANMAN version of the |
1775 | SMB protocol needed to establish sessions with old SMB servers. | 1775 | SMB protocol needed to establish sessions with old SMB servers. |
1776 | 1776 | ||
1777 | Enabling this option allows the cifs module to mount to older | 1777 | Enabling this option allows the cifs module to mount to older |
1778 | LANMAN based servers such as OS/2 and Windows 95, but such | 1778 | LANMAN based servers such as OS/2 and Windows 95, but such |
1779 | mounts may be less secure than mounts using NTLM or more recent | 1779 | mounts may be less secure than mounts using NTLM or more recent |
1780 | security mechanisms if you are on a public network. Unless you | 1780 | security mechanisms if you are on a public network. Unless you |
1781 | have a need to access old SMB servers (and are on a private | 1781 | have a need to access old SMB servers (and are on a private |
1782 | network) you probably want to say N. Even if this support | 1782 | network) you probably want to say N. Even if this support |
1783 | is enabled in the kernel build, they will not be used | 1783 | is enabled in the kernel build, they will not be used |
1784 | automatically. At runtime LANMAN mounts are disabled but | 1784 | automatically. At runtime LANMAN mounts are disabled but |
1785 | can be set to required (or optional) either in | 1785 | can be set to required (or optional) either in |
1786 | /proc/fs/cifs (see fs/cifs/README for more detail) or via an | 1786 | /proc/fs/cifs (see fs/cifs/README for more detail) or via an |
1787 | option on the mount command. This support is disabled by | 1787 | option on the mount command. This support is disabled by |
1788 | default in order to reduce the possibility of a downgrade | 1788 | default in order to reduce the possibility of a downgrade |
1789 | attack. | 1789 | attack. |
1790 | 1790 | ||
1791 | If unsure, say N. | 1791 | If unsure, say N. |
1792 | 1792 | ||
1793 | config CIFS_XATTR | 1793 | config CIFS_XATTR |
1794 | bool "CIFS extended attributes" | 1794 | bool "CIFS extended attributes" |
1795 | depends on CIFS | 1795 | depends on CIFS |
1796 | help | 1796 | help |
1797 | Extended attributes are name:value pairs associated with inodes by | 1797 | Extended attributes are name:value pairs associated with inodes by |
1798 | the kernel or by users (see the attr(5) manual page, or visit | 1798 | the kernel or by users (see the attr(5) manual page, or visit |
1799 | <http://acl.bestbits.at/> for details). CIFS maps the name of | 1799 | <http://acl.bestbits.at/> for details). CIFS maps the name of |
1800 | extended attributes beginning with the user namespace prefix | 1800 | extended attributes beginning with the user namespace prefix |
1801 | to SMB/CIFS EAs. EAs are stored on Windows servers without the | 1801 | to SMB/CIFS EAs. EAs are stored on Windows servers without the |
1802 | user namespace prefix, but their names are seen by Linux cifs clients | 1802 | user namespace prefix, but their names are seen by Linux cifs clients |
1803 | prefaced by the user namespace prefix. The system namespace | 1803 | prefaced by the user namespace prefix. The system namespace |
1804 | (used by some filesystems to store ACLs) is not supported at | 1804 | (used by some filesystems to store ACLs) is not supported at |
1805 | this time. | 1805 | this time. |
1806 | 1806 | ||
1807 | If unsure, say N. | 1807 | If unsure, say N. |
1808 | 1808 | ||
1809 | config CIFS_POSIX | 1809 | config CIFS_POSIX |
1810 | bool "CIFS POSIX Extensions" | 1810 | bool "CIFS POSIX Extensions" |
1811 | depends on CIFS_XATTR | 1811 | depends on CIFS_XATTR |
1812 | help | 1812 | help |
1813 | Enabling this option will cause the cifs client to attempt to | 1813 | Enabling this option will cause the cifs client to attempt to |
1814 | negotiate a newer dialect with servers, such as Samba 3.0.5 | 1814 | negotiate a newer dialect with servers, such as Samba 3.0.5 |
1815 | or later, that optionally can handle more POSIX like (rather | 1815 | or later, that optionally can handle more POSIX like (rather |
1816 | than Windows like) file behavior. It also enables | 1816 | than Windows like) file behavior. It also enables |
1817 | support for POSIX ACLs (getfacl and setfacl) to servers | 1817 | support for POSIX ACLs (getfacl and setfacl) to servers |
1818 | (such as Samba 3.10 and later) which can negotiate | 1818 | (such as Samba 3.10 and later) which can negotiate |
1819 | CIFS POSIX ACL support. If unsure, say N. | 1819 | CIFS POSIX ACL support. If unsure, say N. |
1820 | 1820 | ||
1821 | config CIFS_DEBUG2 | 1821 | config CIFS_DEBUG2 |
1822 | bool "Enable additional CIFS debugging routines" | 1822 | bool "Enable additional CIFS debugging routines" |
1823 | depends on CIFS | 1823 | depends on CIFS |
1824 | help | 1824 | help |
1825 | Enabling this option adds a few more debugging routines | 1825 | Enabling this option adds a few more debugging routines |
1826 | to the cifs code which slightly increases the size of | 1826 | to the cifs code which slightly increases the size of |
1827 | the cifs module and can cause additional logging of debug | 1827 | the cifs module and can cause additional logging of debug |
1828 | messages in some error paths, slowing performance. This | 1828 | messages in some error paths, slowing performance. This |
1829 | option can be turned off unless you are debugging | 1829 | option can be turned off unless you are debugging |
1830 | cifs problems. If unsure, say N. | 1830 | cifs problems. If unsure, say N. |
1831 | 1831 | ||
1832 | config CIFS_EXPERIMENTAL | 1832 | config CIFS_EXPERIMENTAL |
1833 | bool "CIFS Experimental Features (EXPERIMENTAL)" | 1833 | bool "CIFS Experimental Features (EXPERIMENTAL)" |
1834 | depends on CIFS && EXPERIMENTAL | 1834 | depends on CIFS && EXPERIMENTAL |
1835 | help | 1835 | help |
1836 | Enables cifs features under testing. These features are | 1836 | Enables cifs features under testing. These features are |
1837 | experimental and currently include support for writepages | 1837 | experimental and currently include support for writepages |
1838 | (multipage writebehind performance improvements) and directory | 1838 | (multipage writebehind performance improvements) and directory |
1839 | change notification ie fcntl(F_DNOTIFY) as well as some security | 1839 | change notification ie fcntl(F_DNOTIFY) as well as some security |
1840 | improvements. Some also depend on setting at runtime the | 1840 | improvements. Some also depend on setting at runtime the |
1841 | pseudo-file /proc/fs/cifs/Experimental (which is disabled by | 1841 | pseudo-file /proc/fs/cifs/Experimental (which is disabled by |
1842 | default). See the file fs/cifs/README for more details. | 1842 | default). See the file fs/cifs/README for more details. |
1843 | 1843 | ||
1844 | If unsure, say N. | 1844 | If unsure, say N. |
1845 | 1845 | ||
1846 | config CIFS_UPCALL | 1846 | config CIFS_UPCALL |
1847 | bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)" | 1847 | bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)" |
1848 | depends on CIFS_EXPERIMENTAL | 1848 | depends on CIFS_EXPERIMENTAL |
1849 | select CONNECTOR | 1849 | select CONNECTOR |
1850 | help | 1850 | help |
1851 | Enables an upcall mechanism for CIFS which will be used to contact | 1851 | Enables an upcall mechanism for CIFS which will be used to contact |
1852 | userspace helper utilities to provide SPNEGO packaged Kerberos | 1852 | userspace helper utilities to provide SPNEGO packaged Kerberos |
1853 | tickets which are needed to mount to certain secure servers | 1853 | tickets which are needed to mount to certain secure servers |
1854 | (for which more secure Kerberos authentication is required). If | 1854 | (for which more secure Kerberos authentication is required). If |
1855 | unsure, say N. | 1855 | unsure, say N. |
1856 | 1856 | ||
1857 | config NCP_FS | 1857 | config NCP_FS |
1858 | tristate "NCP file system support (to mount NetWare volumes)" | 1858 | tristate "NCP file system support (to mount NetWare volumes)" |
1859 | depends on IPX!=n || INET | 1859 | depends on IPX!=n || INET |
1860 | help | 1860 | help |
1861 | NCP (NetWare Core Protocol) is a protocol that runs over IPX and is | 1861 | NCP (NetWare Core Protocol) is a protocol that runs over IPX and is |
1862 | used by Novell NetWare clients to talk to file servers. It is to | 1862 | used by Novell NetWare clients to talk to file servers. It is to |
1863 | IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you | 1863 | IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you |
1864 | to mount NetWare file server volumes and to access them just like | 1864 | to mount NetWare file server volumes and to access them just like |
1865 | any other Unix directory. For details, please read the file | 1865 | any other Unix directory. For details, please read the file |
1866 | <file:Documentation/filesystems/ncpfs.txt> in the kernel source and | 1866 | <file:Documentation/filesystems/ncpfs.txt> in the kernel source and |
1867 | the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>. | 1867 | the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>. |
1868 | 1868 | ||
1869 | You do not have to say Y here if you want your Linux box to act as a | 1869 | You do not have to say Y here if you want your Linux box to act as a |
1870 | file *server* for Novell NetWare clients. | 1870 | file *server* for Novell NetWare clients. |
1871 | 1871 | ||
1872 | General information about how to connect Linux, Windows machines and | 1872 | General information about how to connect Linux, Windows machines and |
1873 | Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. | 1873 | Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. |
1874 | 1874 | ||
1875 | To compile this as a module, choose M here: the module will be called | 1875 | To compile this as a module, choose M here: the module will be called |
1876 | ncpfs. Say N unless you are connected to a Novell network. | 1876 | ncpfs. Say N unless you are connected to a Novell network. |
1877 | 1877 | ||
1878 | source "fs/ncpfs/Kconfig" | 1878 | source "fs/ncpfs/Kconfig" |
1879 | 1879 | ||
1880 | config CODA_FS | 1880 | config CODA_FS |
1881 | tristate "Coda file system support (advanced network fs)" | 1881 | tristate "Coda file system support (advanced network fs)" |
1882 | depends on INET | 1882 | depends on INET |
1883 | help | 1883 | help |
1884 | Coda is an advanced network file system, similar to NFS in that it | 1884 | Coda is an advanced network file system, similar to NFS in that it |
1885 | enables you to mount file systems of a remote server and access them | 1885 | enables you to mount file systems of a remote server and access them |
1886 | with regular Unix commands as if they were sitting on your hard | 1886 | with regular Unix commands as if they were sitting on your hard |
1887 | disk. Coda has several advantages over NFS: support for | 1887 | disk. Coda has several advantages over NFS: support for |
1888 | disconnected operation (e.g. for laptops), read/write server | 1888 | disconnected operation (e.g. for laptops), read/write server |
1889 | replication, security model for authentication and encryption, | 1889 | replication, security model for authentication and encryption, |
1890 | persistent client caches and write back caching. | 1890 | persistent client caches and write back caching. |
1891 | 1891 | ||
1892 | If you say Y here, your Linux box will be able to act as a Coda | 1892 | If you say Y here, your Linux box will be able to act as a Coda |
1893 | *client*. You will need user level code as well, both for the | 1893 | *client*. You will need user level code as well, both for the |
1894 | client and server. Servers are currently user level, i.e. they need | 1894 | client and server. Servers are currently user level, i.e. they need |
1895 | no kernel support. Please read | 1895 | no kernel support. Please read |
1896 | <file:Documentation/filesystems/coda.txt> and check out the Coda | 1896 | <file:Documentation/filesystems/coda.txt> and check out the Coda |
1897 | home page <http://www.coda.cs.cmu.edu/>. | 1897 | home page <http://www.coda.cs.cmu.edu/>. |
1898 | 1898 | ||
1899 | To compile the coda client support as a module, choose M here: the | 1899 | To compile the coda client support as a module, choose M here: the |
1900 | module will be called coda. | 1900 | module will be called coda. |
1901 | 1901 | ||
1902 | config CODA_FS_OLD_API | 1902 | config CODA_FS_OLD_API |
1903 | bool "Use 96-bit Coda file identifiers" | 1903 | bool "Use 96-bit Coda file identifiers" |
1904 | depends on CODA_FS | 1904 | depends on CODA_FS |
1905 | help | 1905 | help |
1906 | A new kernel-userspace API had to be introduced for Coda v6.0 | 1906 | A new kernel-userspace API had to be introduced for Coda v6.0 |
1907 | to support larger 128-bit file identifiers as needed by the | 1907 | to support larger 128-bit file identifiers as needed by the |
1908 | new realms implementation. | 1908 | new realms implementation. |
1909 | 1909 | ||
1910 | However this new API is not backward compatible with older | 1910 | However this new API is not backward compatible with older |
1911 | clients. If you really need to run the old Coda userspace | 1911 | clients. If you really need to run the old Coda userspace |
1912 | cache manager then say Y. | 1912 | cache manager then say Y. |
1913 | 1913 | ||
1914 | For most cases you probably want to say N. | 1914 | For most cases you probably want to say N. |
1915 | 1915 | ||
1916 | config AFS_FS | 1916 | config AFS_FS |
1917 | # for fs/nls/Config.in | 1917 | # for fs/nls/Config.in |
1918 | tristate "Andrew File System support (AFS) (Experimental)" | 1918 | tristate "Andrew File System support (AFS) (Experimental)" |
1919 | depends on INET && EXPERIMENTAL | 1919 | depends on INET && EXPERIMENTAL |
1920 | select RXRPC | 1920 | select RXRPC |
1921 | help | 1921 | help |
1922 | If you say Y here, you will get an experimental Andrew File System | 1922 | If you say Y here, you will get an experimental Andrew File System |
1923 | driver. It currently only supports unsecured read-only AFS access. | 1923 | driver. It currently only supports unsecured read-only AFS access. |
1924 | 1924 | ||
1925 | See <file:Documentation/filesystems/afs.txt> for more intormation. | 1925 | See <file:Documentation/filesystems/afs.txt> for more intormation. |
1926 | 1926 | ||
1927 | If unsure, say N. | 1927 | If unsure, say N. |
1928 | 1928 | ||
1929 | config RXRPC | 1929 | config RXRPC |
1930 | tristate | 1930 | tristate |
1931 | 1931 | ||
1932 | config 9P_FS | 1932 | config 9P_FS |
1933 | tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)" | 1933 | tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)" |
1934 | depends on INET && EXPERIMENTAL | 1934 | depends on INET && EXPERIMENTAL |
1935 | help | 1935 | help |
1936 | If you say Y here, you will get experimental support for | 1936 | If you say Y here, you will get experimental support for |
1937 | Plan 9 resource sharing via the 9P2000 protocol. | 1937 | Plan 9 resource sharing via the 9P2000 protocol. |
1938 | 1938 | ||
1939 | See <http://v9fs.sf.net> for more information. | 1939 | See <http://v9fs.sf.net> for more information. |
1940 | 1940 | ||
1941 | If unsure, say N. | 1941 | If unsure, say N. |
1942 | 1942 | ||
1943 | config GENERIC_ACL | ||
1944 | bool | ||
1945 | select FS_POSIX_ACL | ||
1946 | |||
1943 | endmenu | 1947 | endmenu |
1944 | 1948 | ||
1945 | menu "Partition Types" | 1949 | menu "Partition Types" |
1946 | 1950 | ||
1947 | source "fs/partitions/Kconfig" | 1951 | source "fs/partitions/Kconfig" |
1948 | 1952 | ||
1949 | endmenu | 1953 | endmenu |
1950 | 1954 | ||
1951 | source "fs/nls/Kconfig" | 1955 | source "fs/nls/Kconfig" |
1952 | 1956 | ||
1953 | endmenu | 1957 | endmenu |
1954 | 1958 | ||
1955 | 1959 |
fs/Makefile
1 | # | 1 | # |
2 | # Makefile for the Linux filesystems. | 2 | # Makefile for the Linux filesystems. |
3 | # | 3 | # |
4 | # 14 Sep 2000, Christoph Hellwig <hch@infradead.org> | 4 | # 14 Sep 2000, Christoph Hellwig <hch@infradead.org> |
5 | # Rewritten to use lists instead of if-statements. | 5 | # Rewritten to use lists instead of if-statements. |
6 | # | 6 | # |
7 | 7 | ||
8 | obj-y := open.o read_write.o file_table.o buffer.o bio.o super.o \ | 8 | obj-y := open.o read_write.o file_table.o buffer.o bio.o super.o \ |
9 | block_dev.o char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \ | 9 | block_dev.o char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \ |
10 | ioctl.o readdir.o select.o fifo.o locks.o dcache.o inode.o \ | 10 | ioctl.o readdir.o select.o fifo.o locks.o dcache.o inode.o \ |
11 | attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \ | 11 | attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \ |
12 | seq_file.o xattr.o libfs.o fs-writeback.o mpage.o direct-io.o \ | 12 | seq_file.o xattr.o libfs.o fs-writeback.o mpage.o direct-io.o \ |
13 | ioprio.o pnode.o drop_caches.o splice.o sync.o | 13 | ioprio.o pnode.o drop_caches.o splice.o sync.o |
14 | 14 | ||
15 | obj-$(CONFIG_INOTIFY) += inotify.o | 15 | obj-$(CONFIG_INOTIFY) += inotify.o |
16 | obj-$(CONFIG_INOTIFY_USER) += inotify_user.o | 16 | obj-$(CONFIG_INOTIFY_USER) += inotify_user.o |
17 | obj-$(CONFIG_EPOLL) += eventpoll.o | 17 | obj-$(CONFIG_EPOLL) += eventpoll.o |
18 | obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o | 18 | obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o |
19 | 19 | ||
20 | nfsd-$(CONFIG_NFSD) := nfsctl.o | 20 | nfsd-$(CONFIG_NFSD) := nfsctl.o |
21 | obj-y += $(nfsd-y) $(nfsd-m) | 21 | obj-y += $(nfsd-y) $(nfsd-m) |
22 | 22 | ||
23 | obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o | 23 | obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o |
24 | obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o | 24 | obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o |
25 | obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o | 25 | obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o |
26 | 26 | ||
27 | # binfmt_script is always there | 27 | # binfmt_script is always there |
28 | obj-y += binfmt_script.o | 28 | obj-y += binfmt_script.o |
29 | 29 | ||
30 | obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o | 30 | obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o |
31 | obj-$(CONFIG_BINFMT_ELF_FDPIC) += binfmt_elf_fdpic.o | 31 | obj-$(CONFIG_BINFMT_ELF_FDPIC) += binfmt_elf_fdpic.o |
32 | obj-$(CONFIG_BINFMT_SOM) += binfmt_som.o | 32 | obj-$(CONFIG_BINFMT_SOM) += binfmt_som.o |
33 | obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat.o | 33 | obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat.o |
34 | 34 | ||
35 | obj-$(CONFIG_FS_MBCACHE) += mbcache.o | 35 | obj-$(CONFIG_FS_MBCACHE) += mbcache.o |
36 | obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o xattr_acl.o | 36 | obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o xattr_acl.o |
37 | obj-$(CONFIG_NFS_COMMON) += nfs_common/ | 37 | obj-$(CONFIG_NFS_COMMON) += nfs_common/ |
38 | obj-$(CONFIG_GENERIC_ACL) += generic_acl.o | ||
38 | 39 | ||
39 | obj-$(CONFIG_QUOTA) += dquot.o | 40 | obj-$(CONFIG_QUOTA) += dquot.o |
40 | obj-$(CONFIG_QFMT_V1) += quota_v1.o | 41 | obj-$(CONFIG_QFMT_V1) += quota_v1.o |
41 | obj-$(CONFIG_QFMT_V2) += quota_v2.o | 42 | obj-$(CONFIG_QFMT_V2) += quota_v2.o |
42 | obj-$(CONFIG_QUOTACTL) += quota.o | 43 | obj-$(CONFIG_QUOTACTL) += quota.o |
43 | 44 | ||
44 | obj-$(CONFIG_DNOTIFY) += dnotify.o | 45 | obj-$(CONFIG_DNOTIFY) += dnotify.o |
45 | 46 | ||
46 | obj-$(CONFIG_PROC_FS) += proc/ | 47 | obj-$(CONFIG_PROC_FS) += proc/ |
47 | obj-y += partitions/ | 48 | obj-y += partitions/ |
48 | obj-$(CONFIG_SYSFS) += sysfs/ | 49 | obj-$(CONFIG_SYSFS) += sysfs/ |
49 | obj-$(CONFIG_CONFIGFS_FS) += configfs/ | 50 | obj-$(CONFIG_CONFIGFS_FS) += configfs/ |
50 | obj-y += devpts/ | 51 | obj-y += devpts/ |
51 | 52 | ||
52 | obj-$(CONFIG_PROFILING) += dcookies.o | 53 | obj-$(CONFIG_PROFILING) += dcookies.o |
53 | 54 | ||
54 | # Do not add any filesystems before this line | 55 | # Do not add any filesystems before this line |
55 | obj-$(CONFIG_REISERFS_FS) += reiserfs/ | 56 | obj-$(CONFIG_REISERFS_FS) += reiserfs/ |
56 | obj-$(CONFIG_EXT3_FS) += ext3/ # Before ext2 so root fs can be ext3 | 57 | obj-$(CONFIG_EXT3_FS) += ext3/ # Before ext2 so root fs can be ext3 |
57 | obj-$(CONFIG_JBD) += jbd/ | 58 | obj-$(CONFIG_JBD) += jbd/ |
58 | obj-$(CONFIG_EXT2_FS) += ext2/ | 59 | obj-$(CONFIG_EXT2_FS) += ext2/ |
59 | obj-$(CONFIG_CRAMFS) += cramfs/ | 60 | obj-$(CONFIG_CRAMFS) += cramfs/ |
60 | obj-$(CONFIG_RAMFS) += ramfs/ | 61 | obj-$(CONFIG_RAMFS) += ramfs/ |
61 | obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ | 62 | obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ |
62 | obj-$(CONFIG_CODA_FS) += coda/ | 63 | obj-$(CONFIG_CODA_FS) += coda/ |
63 | obj-$(CONFIG_MINIX_FS) += minix/ | 64 | obj-$(CONFIG_MINIX_FS) += minix/ |
64 | obj-$(CONFIG_FAT_FS) += fat/ | 65 | obj-$(CONFIG_FAT_FS) += fat/ |
65 | obj-$(CONFIG_MSDOS_FS) += msdos/ | 66 | obj-$(CONFIG_MSDOS_FS) += msdos/ |
66 | obj-$(CONFIG_VFAT_FS) += vfat/ | 67 | obj-$(CONFIG_VFAT_FS) += vfat/ |
67 | obj-$(CONFIG_BFS_FS) += bfs/ | 68 | obj-$(CONFIG_BFS_FS) += bfs/ |
68 | obj-$(CONFIG_ISO9660_FS) += isofs/ | 69 | obj-$(CONFIG_ISO9660_FS) += isofs/ |
69 | obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+ | 70 | obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+ |
70 | obj-$(CONFIG_HFS_FS) += hfs/ | 71 | obj-$(CONFIG_HFS_FS) += hfs/ |
71 | obj-$(CONFIG_VXFS_FS) += freevxfs/ | 72 | obj-$(CONFIG_VXFS_FS) += freevxfs/ |
72 | obj-$(CONFIG_NFS_FS) += nfs/ | 73 | obj-$(CONFIG_NFS_FS) += nfs/ |
73 | obj-$(CONFIG_EXPORTFS) += exportfs/ | 74 | obj-$(CONFIG_EXPORTFS) += exportfs/ |
74 | obj-$(CONFIG_NFSD) += nfsd/ | 75 | obj-$(CONFIG_NFSD) += nfsd/ |
75 | obj-$(CONFIG_LOCKD) += lockd/ | 76 | obj-$(CONFIG_LOCKD) += lockd/ |
76 | obj-$(CONFIG_NLS) += nls/ | 77 | obj-$(CONFIG_NLS) += nls/ |
77 | obj-$(CONFIG_SYSV_FS) += sysv/ | 78 | obj-$(CONFIG_SYSV_FS) += sysv/ |
78 | obj-$(CONFIG_SMB_FS) += smbfs/ | 79 | obj-$(CONFIG_SMB_FS) += smbfs/ |
79 | obj-$(CONFIG_CIFS) += cifs/ | 80 | obj-$(CONFIG_CIFS) += cifs/ |
80 | obj-$(CONFIG_NCP_FS) += ncpfs/ | 81 | obj-$(CONFIG_NCP_FS) += ncpfs/ |
81 | obj-$(CONFIG_HPFS_FS) += hpfs/ | 82 | obj-$(CONFIG_HPFS_FS) += hpfs/ |
82 | obj-$(CONFIG_NTFS_FS) += ntfs/ | 83 | obj-$(CONFIG_NTFS_FS) += ntfs/ |
83 | obj-$(CONFIG_UFS_FS) += ufs/ | 84 | obj-$(CONFIG_UFS_FS) += ufs/ |
84 | obj-$(CONFIG_EFS_FS) += efs/ | 85 | obj-$(CONFIG_EFS_FS) += efs/ |
85 | obj-$(CONFIG_JFFS_FS) += jffs/ | 86 | obj-$(CONFIG_JFFS_FS) += jffs/ |
86 | obj-$(CONFIG_JFFS2_FS) += jffs2/ | 87 | obj-$(CONFIG_JFFS2_FS) += jffs2/ |
87 | obj-$(CONFIG_AFFS_FS) += affs/ | 88 | obj-$(CONFIG_AFFS_FS) += affs/ |
88 | obj-$(CONFIG_ROMFS_FS) += romfs/ | 89 | obj-$(CONFIG_ROMFS_FS) += romfs/ |
89 | obj-$(CONFIG_QNX4FS_FS) += qnx4/ | 90 | obj-$(CONFIG_QNX4FS_FS) += qnx4/ |
90 | obj-$(CONFIG_AUTOFS_FS) += autofs/ | 91 | obj-$(CONFIG_AUTOFS_FS) += autofs/ |
91 | obj-$(CONFIG_AUTOFS4_FS) += autofs4/ | 92 | obj-$(CONFIG_AUTOFS4_FS) += autofs4/ |
92 | obj-$(CONFIG_ADFS_FS) += adfs/ | 93 | obj-$(CONFIG_ADFS_FS) += adfs/ |
93 | obj-$(CONFIG_FUSE_FS) += fuse/ | 94 | obj-$(CONFIG_FUSE_FS) += fuse/ |
94 | obj-$(CONFIG_UDF_FS) += udf/ | 95 | obj-$(CONFIG_UDF_FS) += udf/ |
95 | obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/ | 96 | obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/ |
96 | obj-$(CONFIG_JFS_FS) += jfs/ | 97 | obj-$(CONFIG_JFS_FS) += jfs/ |
97 | obj-$(CONFIG_XFS_FS) += xfs/ | 98 | obj-$(CONFIG_XFS_FS) += xfs/ |
98 | obj-$(CONFIG_9P_FS) += 9p/ | 99 | obj-$(CONFIG_9P_FS) += 9p/ |
99 | obj-$(CONFIG_AFS_FS) += afs/ | 100 | obj-$(CONFIG_AFS_FS) += afs/ |
100 | obj-$(CONFIG_BEFS_FS) += befs/ | 101 | obj-$(CONFIG_BEFS_FS) += befs/ |
101 | obj-$(CONFIG_HOSTFS) += hostfs/ | 102 | obj-$(CONFIG_HOSTFS) += hostfs/ |
102 | obj-$(CONFIG_HPPFS) += hppfs/ | 103 | obj-$(CONFIG_HPPFS) += hppfs/ |
103 | obj-$(CONFIG_DEBUG_FS) += debugfs/ | 104 | obj-$(CONFIG_DEBUG_FS) += debugfs/ |
104 | obj-$(CONFIG_OCFS2_FS) += ocfs2/ | 105 | obj-$(CONFIG_OCFS2_FS) += ocfs2/ |
105 | 106 |
fs/generic_acl.c
File was created | 1 | /* | |
2 | * fs/generic_acl.c | ||
3 | * | ||
4 | * (C) 2005 Andreas Gruenbacher <agruen@suse.de> | ||
5 | * | ||
6 | * This file is released under the GPL. | ||
7 | */ | ||
8 | |||
9 | #include <linux/sched.h> | ||
10 | #include <linux/fs.h> | ||
11 | #include <linux/generic_acl.h> | ||
12 | |||
13 | /** | ||
14 | * generic_acl_list - Generic xattr_handler->list() operation | ||
15 | * @ops: Filesystem specific getacl and setacl callbacks | ||
16 | */ | ||
17 | size_t | ||
18 | generic_acl_list(struct inode *inode, struct generic_acl_operations *ops, | ||
19 | int type, char *list, size_t list_size) | ||
20 | { | ||
21 | struct posix_acl *acl; | ||
22 | const char *name; | ||
23 | size_t size; | ||
24 | |||
25 | acl = ops->getacl(inode, type); | ||
26 | if (!acl) | ||
27 | return 0; | ||
28 | posix_acl_release(acl); | ||
29 | |||
30 | switch(type) { | ||
31 | case ACL_TYPE_ACCESS: | ||
32 | name = POSIX_ACL_XATTR_ACCESS; | ||
33 | break; | ||
34 | |||
35 | case ACL_TYPE_DEFAULT: | ||
36 | name = POSIX_ACL_XATTR_DEFAULT; | ||
37 | break; | ||
38 | |||
39 | default: | ||
40 | return 0; | ||
41 | } | ||
42 | size = strlen(name) + 1; | ||
43 | if (list && size <= list_size) | ||
44 | memcpy(list, name, size); | ||
45 | return size; | ||
46 | } | ||
47 | |||
48 | /** | ||
49 | * generic_acl_get - Generic xattr_handler->get() operation | ||
50 | * @ops: Filesystem specific getacl and setacl callbacks | ||
51 | */ | ||
52 | int | ||
53 | generic_acl_get(struct inode *inode, struct generic_acl_operations *ops, | ||
54 | int type, void *buffer, size_t size) | ||
55 | { | ||
56 | struct posix_acl *acl; | ||
57 | int error; | ||
58 | |||
59 | acl = ops->getacl(inode, type); | ||
60 | if (!acl) | ||
61 | return -ENODATA; | ||
62 | error = posix_acl_to_xattr(acl, buffer, size); | ||
63 | posix_acl_release(acl); | ||
64 | |||
65 | return error; | ||
66 | } | ||
67 | |||
68 | /** | ||
69 | * generic_acl_set - Generic xattr_handler->set() operation | ||
70 | * @ops: Filesystem specific getacl and setacl callbacks | ||
71 | */ | ||
72 | int | ||
73 | generic_acl_set(struct inode *inode, struct generic_acl_operations *ops, | ||
74 | int type, const void *value, size_t size) | ||
75 | { | ||
76 | struct posix_acl *acl = NULL; | ||
77 | int error; | ||
78 | |||
79 | if (S_ISLNK(inode->i_mode)) | ||
80 | return -EOPNOTSUPP; | ||
81 | if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) | ||
82 | return -EPERM; | ||
83 | if (value) { | ||
84 | acl = posix_acl_from_xattr(value, size); | ||
85 | if (IS_ERR(acl)) | ||
86 | return PTR_ERR(acl); | ||
87 | } | ||
88 | if (acl) { | ||
89 | mode_t mode; | ||
90 | |||
91 | error = posix_acl_valid(acl); | ||
92 | if (error) | ||
93 | goto failed; | ||
94 | switch(type) { | ||
95 | case ACL_TYPE_ACCESS: | ||
96 | mode = inode->i_mode; | ||
97 | error = posix_acl_equiv_mode(acl, &mode); | ||
98 | if (error < 0) | ||
99 | goto failed; | ||
100 | inode->i_mode = mode; | ||
101 | if (error == 0) { | ||
102 | posix_acl_release(acl); | ||
103 | acl = NULL; | ||
104 | } | ||
105 | break; | ||
106 | |||
107 | case ACL_TYPE_DEFAULT: | ||
108 | if (!S_ISDIR(inode->i_mode)) { | ||
109 | error = -EINVAL; | ||
110 | goto failed; | ||
111 | } | ||
112 | break; | ||
113 | } | ||
114 | } | ||
115 | ops->setacl(inode, type, acl); | ||
116 | error = 0; | ||
117 | failed: | ||
118 | posix_acl_release(acl); | ||
119 | return error; | ||
120 | } | ||
121 | |||
122 | /** | ||
123 | * generic_acl_init - Take care of acl inheritance at @inode create time | ||
124 | * @ops: Filesystem specific getacl and setacl callbacks | ||
125 | * | ||
126 | * Files created inside a directory with a default ACL inherit the | ||
127 | * directory's default ACL. | ||
128 | */ | ||
129 | int | ||
130 | generic_acl_init(struct inode *inode, struct inode *dir, | ||
131 | struct generic_acl_operations *ops) | ||
132 | { | ||
133 | struct posix_acl *acl = NULL; | ||
134 | mode_t mode = inode->i_mode; | ||
135 | int error; | ||
136 | |||
137 | inode->i_mode = mode & ~current->fs->umask; | ||
138 | if (!S_ISLNK(inode->i_mode)) | ||
139 | acl = ops->getacl(dir, ACL_TYPE_DEFAULT); | ||
140 | if (acl) { | ||
141 | struct posix_acl *clone; | ||
142 | |||
143 | if (S_ISDIR(inode->i_mode)) { | ||
144 | clone = posix_acl_clone(acl, GFP_KERNEL); | ||
145 | error = -ENOMEM; | ||
146 | if (!clone) | ||
147 | goto cleanup; | ||
148 | ops->setacl(inode, ACL_TYPE_DEFAULT, clone); | ||
149 | posix_acl_release(clone); | ||
150 | } | ||
151 | clone = posix_acl_clone(acl, GFP_KERNEL); | ||
152 | error = -ENOMEM; | ||
153 | if (!clone) | ||
154 | goto cleanup; | ||
155 | error = posix_acl_create_masq(clone, &mode); | ||
156 | if (error >= 0) { | ||
157 | inode->i_mode = mode; | ||
158 | if (error > 0) | ||
159 | ops->setacl(inode, ACL_TYPE_ACCESS, clone); | ||
160 | } | ||
161 | posix_acl_release(clone); | ||
162 | } | ||
163 | error = 0; | ||
164 | |||
165 | cleanup: | ||
166 | posix_acl_release(acl); | ||
167 | return error; | ||
168 | } | ||
169 | |||
170 | /** | ||
171 | * generic_acl_chmod - change the access acl of @inode upon chmod() | ||
172 | * @ops: FIlesystem specific getacl and setacl callbacks | ||
173 | * | ||
174 | * A chmod also changes the permissions of the owner, group/mask, and | ||
175 | * other ACL entries. | ||
176 | */ | ||
177 | int | ||
178 | generic_acl_chmod(struct inode *inode, struct generic_acl_operations *ops) | ||
179 | { | ||
180 | struct posix_acl *acl, *clone; | ||
181 | int error = 0; | ||
182 | |||
183 | if (S_ISLNK(inode->i_mode)) | ||
184 | return -EOPNOTSUPP; | ||
185 | acl = ops->getacl(inode, ACL_TYPE_ACCESS); | ||
186 | if (acl) { | ||
187 | clone = posix_acl_clone(acl, GFP_KERNEL); | ||
188 | posix_acl_release(acl); | ||
189 | if (!clone) | ||
190 | return -ENOMEM; | ||
191 | error = posix_acl_chmod_masq(clone, inode->i_mode); | ||
192 | if (!error) | ||
193 | ops->setacl(inode, ACL_TYPE_ACCESS, clone); | ||
194 | posix_acl_release(clone); | ||
195 | } | ||
196 | return error; | ||
197 | } | ||
198 |
include/linux/generic_acl.h
File was created | 1 | /* | |
2 | * fs/generic_acl.c | ||
3 | * | ||
4 | * (C) 2005 Andreas Gruenbacher <agruen@suse.de> | ||
5 | * | ||
6 | * This file is released under the GPL. | ||
7 | */ | ||
8 | |||
9 | #ifndef GENERIC_ACL_H | ||
10 | #define GENERIC_ACL_H | ||
11 | |||
12 | #include <linux/posix_acl.h> | ||
13 | #include <linux/posix_acl_xattr.h> | ||
14 | |||
15 | /** | ||
16 | * struct generic_acl_operations - filesystem operations | ||
17 | * | ||
18 | * Filesystems must make these operations available to the generic | ||
19 | * operations. | ||
20 | */ | ||
21 | struct generic_acl_operations { | ||
22 | struct posix_acl *(*getacl)(struct inode *, int); | ||
23 | void (*setacl)(struct inode *, int, struct posix_acl *); | ||
24 | }; | ||
25 | |||
26 | size_t generic_acl_list(struct inode *, struct generic_acl_operations *, int, | ||
27 | char *, size_t); | ||
28 | int generic_acl_get(struct inode *, struct generic_acl_operations *, int, | ||
29 | void *, size_t); | ||
30 | int generic_acl_set(struct inode *, struct generic_acl_operations *, int, | ||
31 | const void *, size_t); | ||
32 | int generic_acl_init(struct inode *, struct inode *, | ||
33 | struct generic_acl_operations *); | ||
34 | int generic_acl_chmod(struct inode *, struct generic_acl_operations *); | ||
35 | |||
36 | #endif | ||
37 |