Commit f0c8bd164e1a0585d7e46896553136b4f488bd19

Authored by Andreas Gruenbacher
Committed by Linus Torvalds
1 parent 4e6fd33b75

[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

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