aboutsummaryrefslogtreecommitdiff
path: root/fs/Kconfig
blob: da5e8f956a82e56dd0df3a83bda90105cf1d745c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
#
# File system configuration
#

menu "File systems"

if BLOCK

source "fs/ext2/Kconfig"
source "fs/ext3/Kconfig"
source "fs/ext4/Kconfig"

config FS_XIP
# execute in place
	bool
	depends on EXT2_FS_XIP
	default y

source "fs/jbd/Kconfig"
source "fs/jbd2/Kconfig"

config FS_MBCACHE
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
	tristate
	default y if EXT2_FS=y && EXT2_FS_XATTR
	default y if EXT3_FS=y && EXT3_FS_XATTR
	default y if EXT4_FS=y && EXT4_FS_XATTR
	default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR

source "fs/reiserfs/Kconfig"
source "fs/jfs/Kconfig"

config FS_POSIX_ACL
# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
#
# NOTE: you can implement Posix ACLs without these helpers (XFS does).
# 	Never use this symbol for ifdefs.
#
	bool
	default n

config FILE_LOCKING
	bool "Enable POSIX file locking API" if EMBEDDED
	default y
	help
	  This option enables standard file locking support, required
          for filesystems like NFS and for the flock() system
          call. Disabling this option saves about 11k.

source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
source "fs/ocfs2/Kconfig"
source "fs/btrfs/Kconfig"

endif # BLOCK

source "fs/notify/Kconfig"

config QUOTA
	bool "Quota support"
	help
	  If you say Y here, you will be able to set per user limits for disk
	  usage (also called disk quotas). Currently, it works for the
	  ext2, ext3, and reiserfs file system. ext3 also supports journalled
	  quotas for which you don't need to run quotacheck(8) after an unclean
	  shutdown.
	  For further details, read the Quota mini-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>, or the documentation provided
	  with the quota tools. Probably the quota support is only useful for
	  multi user systems. If unsure, say N.

config QUOTA_NETLINK_INTERFACE
	bool "Report quota messages through netlink interface"
	depends on QUOTA && NET
	help
	  If you say Y here, quota warnings (about exceeding softlimit, reaching
	  hardlimit, etc.) will be reported through netlink interface. If unsure,
	  say Y.

config PRINT_QUOTA_WARNING
	bool "Print quota warnings to console (OBSOLETE)"
	depends on QUOTA
	default y
	help
	  If you say Y here, quota warnings (about exceeding softlimit, reaching
	  hardlimit, etc.) will be printed to the process' controlling terminal.
	  Note that this behavior is currently deprecated and may go away in
	  future. Please use notification via netlink socket instead.

# Generic support for tree structured quota files. Seleted when needed.
config QUOTA_TREE
	 tristate

config QFMT_V1
	tristate "Old quota format support"
	depends on QUOTA
	help
	  This quota format was (is) used by kernels earlier than 2.4.22. If
	  you have quota working and you don't want to convert to new quota
	  format say Y here.

config QFMT_V2
	tristate "Quota format v2 support"
	depends on QUOTA
	select QUOTA_TREE
	help
	  This quota format allows using quotas with 32-bit UIDs/GIDs. If you
	  need this functionality say Y here.

config QUOTACTL
	bool
	depends on XFS_QUOTA || QUOTA
	default y

source "fs/autofs/Kconfig"
source "fs/autofs4/Kconfig"
source "fs/fuse/Kconfig"

config GENERIC_ACL
	bool
	select FS_POSIX_ACL

if BLOCK
menu "CD-ROM/DVD Filesystems"

source "fs/isofs/Kconfig"
source "fs/udf/Kconfig"

endmenu
endif # BLOCK

if BLOCK
menu "DOS/FAT/NT Filesystems"

source "fs/fat/Kconfig"
source "fs/ntfs/Kconfig"

endmenu
endif # BLOCK

menu "Pseudo filesystems"

source "fs/proc/Kconfig"
source "fs/sysfs/Kconfig"

config TMPFS
	bool "Virtual memory file system support (former shm fs)"
	help
	  Tmpfs is a file system which keeps all files in virtual memory.

	  Everything in tmpfs is temporary in the sense that no files will be
	  created on your hard drive. The files live in memory and swap
	  space. If you unmount a tmpfs instance, everything stored therein is
	  lost.

	  See <file:Documentation/filesystems/tmpfs.txt> for details.

config TMPFS_POSIX_ACL
	bool "Tmpfs POSIX Access Control Lists"
	depends on TMPFS
	select GENERIC_ACL
	help
	  POSIX Access Control Lists (ACLs) support permissions for users and
	  groups beyond the owner/group/world scheme.

	  To learn more about Access Control Lists, visit the POSIX ACLs for
	  Linux website <http://acl.bestbits.at/>.

	  If you don't know what Access Control Lists are, say N.

config HUGETLBFS
	bool "HugeTLB file system support"
	depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
		   (S390 && 64BIT) || BROKEN
	help
	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
	  ramfs. For architectures that support it, say Y here and read
	  <file:Documentation/vm/hugetlbpage.txt> for details.

	  If unsure, say N.

config HUGETLB_PAGE
	def_bool HUGETLBFS

source "fs/configfs/Kconfig"

endmenu

menuconfig MISC_FILESYSTEMS
	bool "Miscellaneous filesystems"
	default y
	---help---
	  Say Y here to get to see options for various miscellaneous
	  filesystems, such as filesystems that came from other
	  operating systems.

	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and
	  disabled; if unsure, say Y here.

if MISC_FILESYSTEMS

source "fs/adfs/Kconfig"
source "fs/affs/Kconfig"
source "fs/ecryptfs/Kconfig"
source "fs/hfs/Kconfig"
source "fs/hfsplus/Kconfig"
source "fs/befs/Kconfig"
source "fs/bfs/Kconfig"
source "fs/efs/Kconfig"
source "fs/jffs2/Kconfig"
# UBIFS File system configuration
source "fs/ubifs/Kconfig"
source "fs/cramfs/Kconfig"
source "fs/squashfs/Kconfig"
source "fs/freevxfs/Kconfig"
source "fs/minix/Kconfig"
source "fs/omfs/Kconfig"

config HPFS_FS
	tristate "OS/2 HPFS file system support"
	depends on BLOCK
	help
	  OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS
	  is the file system used for organizing files on OS/2 hard disk
	  partitions. Say Y if you want to be able to read files from and
	  write files to an OS/2 HPFS partition on your hard drive. OS/2
	  floppies however are in regular MSDOS format, so you don't need this
	  option in order to be able to read them. Read
	  <file:Documentation/filesystems/hpfs.txt>.

	  To compile this file system support as a module, choose M here: the
	  module will be called hpfs.  If unsure, say N.


config QNX4FS_FS
	tristate "QNX4 file system support (read only)"
	depends on BLOCK
	help
	  This is the file system used by the real-time operating systems
	  QNX 4 and QNX 6 (the latter is also called QNX RTP).
	  Further information is available at <http://www.qnx.com/>.
	  Say Y if you intend to mount QNX hard disks or floppies.
	  Unless you say Y to "QNX4FS read-write support" below, you will
	  only be able to read these file systems.

	  To compile this file system support as a module, choose M here: the
	  module will be called qnx4.

	  If you don't know whether you need it, then you don't need it:
	  answer N.

config QNX4FS_RW
	bool "QNX4FS write support (DANGEROUS)"
	depends on QNX4FS_FS && EXPERIMENTAL && BROKEN
	help
	  Say Y if you want to test write support for QNX4 file systems.

	  It's currently broken, so for now:
	  answer N.

config ROMFS_FS
	tristate "ROM file system support"
	depends on BLOCK
	---help---
	  This is a very small read-only file system mainly intended for
	  initial ram disks of installation disks, but it could be used for
	  other read-only media as well.  Read
	  <file:Documentation/filesystems/romfs.txt> for details.

	  To compile this file system support as a module, choose M here: the
	  module will be called romfs.  Note that the file system of your
	  root partition (the one containing the directory /) cannot be a
	  module.

	  If you don't know whether you need it, then you don't need it:
	  answer N.


config SYSV_FS
	tristate "System V/Xenix/V7/Coherent file system support"
	depends on BLOCK
	help
	  SCO, Xenix and Coherent are commercial Unix systems for Intel
	  machines, and Version 7 was used on the DEC PDP-11. Saying Y
	  here would allow you to read from their floppies and hard disk
	  partitions.

	  If you have floppies or hard disk partitions like that, it is likely
	  that they contain binaries from those other Unix systems; in order
	  to run these binaries, you will want to install linux-abi which is
	  a set of kernel modules that lets you run SCO, Xenix, Wyse,
	  UnixWare, Dell Unix and System V programs under Linux.  It is
	  available via FTP (user: ftp) from
	  <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>).
	  NOTE: that will work only for binaries from Intel-based systems;
	  PDP ones will have to wait until somebody ports Linux to -11 ;-)

	  If you only intend to mount files from some other Unix over the
	  network using NFS, you don't need the System V file system support
	  (but you need NFS file system support obviously).

	  Note that this option is generally not needed for floppies, since a
	  good portable way to transport files and directories between unixes
	  (and even other operating systems) is given by the tar program ("man
	  tar" or preferably "info tar").  Note also that this option has
	  nothing whatsoever to do with the option "System V IPC". Read about
	  the System V file system in
	  <file:Documentation/filesystems/sysv-fs.txt>.
	  Saying Y here will enlarge your kernel by about 27 KB.

	  To compile this as a module, choose M here: the module will be called
	  sysv.

	  If you haven't heard about all of this before, it's safe to say N.


config UFS_FS
	tristate "UFS file system support (read only)"
	depends on BLOCK
	help
	  BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
	  OpenBSD and NeXTstep) use a file system called UFS. Some System V
	  Unixes can create and mount hard disk partitions and diskettes using
	  this file system as well. Saying Y here will allow you to read from
	  these partitions; if you also want to write to them, say Y to the
	  experimental "UFS file system write support", below. Please read the
	  file <file:Documentation/filesystems/ufs.txt> for more information.

          The recently released UFS2 variant (used in FreeBSD 5.x) is
          READ-ONLY supported.

	  Note that this option is generally not needed for floppies, since a
	  good portable way to transport files and directories between unixes
	  (and even other operating systems) is given by the tar program ("man
	  tar" or preferably "info tar").

	  When accessing NeXTstep files, you may need to convert them from the
	  NeXT character set to the Latin1 character set; use the program
	  recode ("info recode") for this purpose.

	  To compile the UFS file system support as a module, choose M here: the
	  module will be called ufs.

	  If you haven't heard about all of this before, it's safe to say N.

config UFS_FS_WRITE
	bool "UFS file system write support (DANGEROUS)"
	depends on UFS_FS && EXPERIMENTAL
	help
	  Say Y here if you want to try writing to UFS partitions. This is
	  experimental, so you should back up your UFS partitions beforehand.

config UFS_DEBUG
	bool "UFS debugging"
	depends on UFS_FS
	help
	  If you are experiencing any problems with the UFS filesystem, say
	  Y here.  This will result in _many_ additional debugging messages to be
	  written to the system log.

endif # MISC_FILESYSTEMS

menuconfig NETWORK_FILESYSTEMS
	bool "Network File Systems"
	default y
	depends on NET
	---help---
	  Say Y here to get to see options for network filesystems and
	  filesystem-related networking code, such as NFS daemon and
	  RPCSEC security modules.

	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and
	  disabled; if unsure, say Y here.

if NETWORK_FILESYSTEMS

config NFS_FS
	tristate "NFS client support"
	depends on INET
	select LOCKD
	select SUNRPC
	select NFS_ACL_SUPPORT if NFS_V3_ACL
	help
	  Choose Y here if you want to access files residing on other
	  computers using Sun's Network File System protocol.  To compile
	  this file system support as a module, choose M here: the module
	  will be called nfs.

	  To mount file systems exported by NFS servers, you also need to
	  install the user space mount.nfs command which can be found in
	  the Linux nfs-utils package, available from http://linux-nfs.org/.
	  Information about using the mount command is available in the
	  mount(8) man page.  More detail about the Linux NFS client
	  implementation is available via the nfs(5) man page.

	  Below you can choose which versions of the NFS protocol are
	  available in the kernel to mount NFS servers.  Support for NFS
	  version 2 (RFC 1094) is always available when NFS_FS is selected.

	  To configure a system which mounts its root file system via NFS
	  at boot time, say Y here, select "Kernel level IP
	  autoconfiguration" in the NETWORK menu, and select "Root file
	  system on NFS" below.  You cannot compile this file system as a
	  module in this case.

	  If unsure, say N.

config NFS_V3
	bool "NFS client support for NFS version 3"
	depends on NFS_FS
	help
	  This option enables support for version 3 of the NFS protocol
	  (RFC 1813) in the kernel's NFS client.