aboutsummaryrefslogtreecommitdiffstats
path: root/fs/Kconfig
blob: 9a40a9c665c7c577c6b14861fbc641ff410a0f72 (plain) (blame)
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
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
#
# File system configuration
#

menu "File systems"

if BLOCK

config EXT2_FS
	tristate "Second extended fs support"
	help
	  Ext2 is a standard Linux file system for hard disks.

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

	  If unsure, say Y.

config EXT2_FS_XATTR
	bool "Ext2 extended attributes"
	depends on EXT2_FS
	help
	  Extended attributes are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page, or visit
	  <http://acl.bestbits.at/> for details).

	  If unsure, say N.

config EXT2_FS_POSIX_ACL
	bool "Ext2 POSIX Access Control Lists"
	depends on EXT2_FS_XATTR
	select FS_POSIX_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 EXT2_FS_SECURITY
	bool "Ext2 Security Labels"
	depends on EXT2_FS_XATTR
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
	  enables an extended attribute handler for file security
	  labels in the ext2 filesystem.

	  If you are not using a security module that requires using
	  extended attributes for file security labels, say N.

config EXT2_FS_XIP
	bool "Ext2 execute in place support"
	depends on EXT2_FS && MMU
	help
	  Execute in place can be used on memory-backed block devices. If you
	  enable this option, you can select to mount block devices which are
	  capable of this feature without using the page cache.

	  If you do not use a block device that is capable of using this,
	  or if unsure, say N.

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

config EXT3_FS
	tristate "Ext3 journalling file system support"
	select JBD
	help
	  This is the journalling version of the Second extended file system
	  (often called ext3), the de facto standard Linux file system
	  (method to organize files on a storage device) for hard disks.

	  The journalling code included in this driver means you do not have
	  to run e2fsck (file system checker) on your file systems after a
	  crash.  The journal keeps track of any changes that were being made
	  at the time the system crashed, and can ensure that your file system
	  is consistent without the need for a lengthy check.

	  Other than adding the journal to the file system, the on-disk format
	  of ext3 is identical to ext2.  It is possible to freely switch
	  between using the ext3 driver and the ext2 driver, as long as the
	  file system has been cleanly unmounted, or e2fsck is run on the file
	  system.

	  To add a journal on an existing ext2 file system or change the
	  behavior of ext3 file systems, you can use the tune2fs utility ("man
	  tune2fs").  To modify attributes of files and directories on ext3
	  file systems, use chattr ("man chattr").  You need to be using
	  e2fsprogs version 1.20 or later in order to create ext3 journals
	  (available at <http://sourceforge.net/projects/e2fsprogs/>).

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

config EXT3_FS_XATTR
	bool "Ext3 extended attributes"
	depends on EXT3_FS
	default y
	help
	  Extended attributes are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page, or visit
	  <http://acl.bestbits.at/> for details).

	  If unsure, say N.

	  You need this for POSIX ACL support on ext3.

config EXT3_FS_POSIX_ACL
	bool "Ext3 POSIX Access Control Lists"
	depends on EXT3_FS_XATTR
	select FS_POSIX_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 EXT3_FS_SECURITY
	bool "Ext3 Security Labels"
	depends on EXT3_FS_XATTR
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
	  enables an extended attribute handler for file security
	  labels in the ext3 filesystem.

	  If you are not using a security module that requires using
	  extended attributes for file security labels, say N.

config EXT4DEV_FS
	tristate "Ext4dev/ext4 extended fs support development (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select JBD2
	help
	  Ext4dev is a predecessor filesystem of the next generation
	  extended fs ext4, based on ext3 filesystem code. It will be
	  renamed ext4 fs later, once ext4dev is mature and stabilized.

	  Unlike the change from ext2 filesystem to ext3 filesystem,
	  the on-disk format of ext4dev is not the same as ext3 any more:
	  it is based on extent maps and it supports 48-bit physical block
	  numbers. These combined on-disk format changes will allow
	  ext4dev/ext4 to handle more than 16 TB filesystem volumes --
	  a hard limit that ext3 cannot overcome without changing the
	  on-disk format.

	  Other than extent maps and 48-bit block numbers, ext4dev also is
	  likely to have other new features such as persistent preallocation,
	  high resolution time stamps, and larger file support etc.  These
	  features will be added to ext4dev gradually.

	  To compile this file system support as a module, choose M here. The
	  module will be called ext4dev.

	  If unsure, say N.

config EXT4DEV_FS_XATTR
	bool "Ext4dev extended attributes"
	depends on EXT4DEV_FS
	default y
	help
	  Extended attributes are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page, or visit
	  <http://acl.bestbits.at/> for details).

	  If unsure, say N.

	  You need this for POSIX ACL support on ext4dev/ext4.

config EXT4DEV_FS_POSIX_ACL
	bool "Ext4dev POSIX Access Control Lists"
	depends on EXT4DEV_FS_XATTR
	select FS_POSIX_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 EXT4DEV_FS_SECURITY
	bool "Ext4dev Security Labels"
	depends on EXT4DEV_FS_XATTR
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
	  enables an extended attribute handler for file security
	  labels in the ext4dev/ext4 filesystem.

	  If you are not using a security module that requires using
	  extended attributes for file security labels, say N.

config JBD
	tristate
	help
	  This is a generic journalling layer for block devices.  It is
	  currently used by the ext3 and OCFS2 file systems, but it could
	  also be used to add journal support to other file systems or block
	  devices such as RAID or LVM.

	  If you are using the ext3 or OCFS2 file systems, you need to
	  say Y here. If you are not using ext3 OCFS2 then you will probably
	  want to say N.

	  To compile this device as a module, choose M here: the module will be
	  called jbd.  If you are compiling ext3 or OCFS2 into the kernel,
	  you cannot compile this code as a module.

config JBD_DEBUG
	bool "JBD (ext3) debugging support"
	depends on JBD
	help
	  If you are using the ext3 journaled file system (or potentially any
	  other file system/device using JBD), this option allows you to
	  enable debugging output while the system is running, in order to
	  help track down any problems you are having.  By default the
	  debugging output will be turned off.

	  If you select Y here, then you will be able to turn on debugging
	  with "echo N > /proc/sys/fs/jbd-debug", where N is a number between
	  1 and 5, the higher the number, the more debugging output is
	  generated.  To turn debugging off again, do
	  "echo 0 > /proc/sys/fs/jbd-debug".

config JBD2
	tristate
	help
	  This is a generic journaling layer for block devices that support
	  both 32-bit and 64-bit block numbers.  It is currently used by
	  the ext4dev/ext4 filesystem, but it could also be used to add
	  journal support to other file systems or block devices such
	  as RAID or LVM.

	  If you are using ext4dev/ext4, you need to say Y here. If you are not
	  using ext4dev/ext4 then you will probably want to say N.

	  To compile this device as a module, choose M here. The module will be
	  called jbd2.  If you are compiling ext4dev/ext4 into the kernel,
	  you cannot compile this code as a module.

config JBD2_DEBUG
	bool "JBD2 (ext4dev/ext4) debugging support"
	depends on JBD2 && DEBUG_FS
	help
	  If you are using the ext4dev/ext4 journaled file system (or
	  potentially any other filesystem/device using JBD2), this option
	  allows you to enable debugging output while the system is running,
	  in order to help track down any problems you are having.
	  By default, the debugging output will be turned off.

	  If you select Y here, then you will be able to turn on debugging
	  with "echo N > /sys/kernel/debug/jbd2/jbd2-debug", where N is a
	  number between 1 and 5. The higher the number, the more debugging
	  output is generated.  To turn debugging off again, do
	  "echo 0 > /sys/kernel/debug/jbd2/jbd2-debug".

config FS_MBCACHE
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
	tristate
	depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4DEV_FS_XATTR
	default y if EXT2_FS=y || EXT3_FS=y || EXT4DEV_FS=y
	default m if EXT2_FS=m || EXT3_FS=m || EXT4DEV_FS=m

config REISERFS_FS
	tristate "Reiserfs support"
	help
	  Stores not just filenames but the files themselves in a balanced
	  tree.  Uses journalling.

	  Balanced trees are more efficient than traditional file system
	  architectural foundations.

	  In general, ReiserFS is as fast as ext2, but is very efficient with
	  large directories and small files.  Additional patches are needed
	  for NFS and quotas, please see <http://www.namesys.com/> for links.

	  It is more easily extended to have features currently found in
	  database and keyword search systems than block allocation based file
	  systems are.  The next version will be so extended, and will support
	  plugins consistent with our motto ``It takes more than a license to
	  make source code open.''

	  Read <http://www.namesys.com/> to learn more about reiserfs.

	  Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com.

	  If you like it, you can pay us to add new features to it that you
	  need, buy a support contract, or pay us to port it to another OS.

config REISERFS_CHECK
	bool "Enable reiserfs debug mode"
	depends on REISERFS_FS
	help
	  If you set this to Y, then ReiserFS will perform every check it can
	  possibly imagine of its internal consistency throughout its
	  operation.  It will also go substantially slower.  More than once we
	  have forgotten that this was on, and then gone despondent over the
	  latest benchmarks.:-) Use of this option allows our team to go all
	  out in checking for consistency when debugging without fear of its
	  effect on end users.  If you are on the verge of sending in a bug
	  report, say Y and you might get a useful error message.  Almost
	  everyone should say N.

config REISERFS_PROC_INFO
	bool "Stats in /proc/fs/reiserfs"
	depends on REISERFS_FS && PROC_FS
	help
	  Create under /proc/fs/reiserfs a hierarchy of files, displaying
	  various ReiserFS statistics and internal data at the expense of
	  making your kernel or module slightly larger (+8 KB). This also
	  increases the amount of kernel memory required for each mount.
	  Almost everyone but ReiserFS developers and people fine-tuning
	  reiserfs or tracing problems should say N.

config REISERFS_FS_XATTR
	bool "ReiserFS extended attributes"
	depends on REISERFS_FS
	help
	  Extended attributes are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page, or visit
	  <http://acl.bestbits.at/> for details).

	  If unsure, say N.

config REISERFS_FS_POSIX_ACL
	bool "ReiserFS POSIX Access Control Lists"
	depends on REISERFS_FS_XATTR
	select FS_POSIX_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 REISERFS_FS_SECURITY
	bool "ReiserFS Security Labels"
	depends on REISERFS_FS_XATTR
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
	  enables an extended attribute handler for file security
	  labels in the ReiserFS filesystem.

	  If you are not using a security module that requires using
	  extended attributes for file security labels, say N.

config JFS_FS
	tristate "JFS filesystem support"
	select NLS
	help
	  This is a port of IBM's Journaled Filesystem .  More information is
	  available in the file <file:Documentation/filesystems/jfs.txt>.

	  If you do not intend to use the JFS filesystem, say N.

config JFS_POSIX_ACL
	bool "JFS POSIX Access Control Lists"
	depends on JFS_FS
	select FS_POSIX_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 JFS_SECURITY
	bool "JFS Security Labels"
	depends on JFS_FS
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
	  enables an extended attribute handler for file security
	  labels in the jfs filesystem.

	  If you are not using a security module that requires using
	  extended attributes for file security labels, say N.

config JFS_DEBUG
	bool "JFS debugging"
	depends on JFS_FS
	help
	  If you are experiencing any problems with the JFS filesystem, say
	  Y here.  This will result in additional debugging messages to be
	  written to the system log.  Under normal circumstances, this
	  results in very little overhead.

config JFS_STATISTICS
	bool "JFS statistics"
	depends on JFS_FS
	help
	  Enabling this option will cause statistics from the JFS file system
	  to be made available to the user in the /proc/fs/jfs/ directory.

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

source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"

config OCFS2_FS
	tristate "OCFS2 file system support"
	depends on NET && SYSFS
	select CONFIGFS_FS
	select JBD
	select CRC32
	help
	  OCFS2 is a general purpose extent based shared disk cluster file
	  system with many similarities to ext3. It supports 64 bit inode
	  numbers, and has automatically extending metadata groups which may
	  also make it attractive for non-clustered use.

	  You'll want to install the ocfs2-tools package in order to at least
	  get "mount.ocfs2".

	  Project web page:    http://oss.oracle.com/projects/ocfs2
	  Tools web page:      http://oss.oracle.com/projects/ocfs2-tools
	  OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/

	  Note: Features which OCFS2 does not support yet:
	          - extended attributes
	          - quotas
	          - cluster aware flock
	          - Directory change notification (F_NOTIFY)
	          - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
	          - POSIX ACLs
	          - readpages / writepages (not user visible)

config OCFS2_DEBUG_MASKLOG
	bool "OCFS2 logging support"
	depends on OCFS2_FS
	default y
	help
	  The ocfs2 filesystem has an extensive logging system.  The system
	  allows selection of events to log via files in /sys/o2cb/logmask/.
	  This option will enlarge your kernel, but it allows debugging of
	  ocfs2 filesystem issues.

config MINIX_FS
	tristate "Minix fs support"
	help
	  Minix is a simple operating system used in many classes about OS's.
	  The minix file system (method to organize files on a hard disk
	  partition or a floppy disk) was the original file system for Linux,
	  but has been superseded by the second extended file system ext2fs.
	  You don't want to use the minix file system on your hard disk
	  because of certain built-in restrictions, but it is sometimes found
	  on older Linux floppy disks.  This option will enlarge your kernel
	  by about 28 KB. If unsure, say N.

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

config ROMFS_FS
	tristate "ROM file system support"
	---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.

endif

config INOTIFY
	bool "Inotify file change notification support"
	default y
	---help---
	  Say Y here to enable inotify support.  Inotify is a file change
	  notification system and a replacement for dnotify.  Inotify fixes
	  numerous shortcomings in dnotify and introduces several new features
	  including multiple file events, one-shot support, and unmount
	  notification.

	  For more information, see Documentation/filesystems/inotify.txt

	  If unsure, say Y.

config INOTIFY_USER
	bool "Inotify support for userspace"
	depends on INOTIFY
	default y
	---help---
	  Say Y here to enable inotify support for userspace, including the
	  associated system calls.  Inotify allows monitoring of both files and
	  directories via a single open fd.  Events are read from the file
	  descriptor, which is also select()- and poll()-able.

	  For more information, see Documentation/filesystems/inotify.txt

	  If unsure, say Y.

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

config DNOTIFY
	bool "Dnotify support"
	default y
	help
	  Dnotify is a directory-based per-fd file change notification system
	  that uses signals to communicate events to user-space.  There exist
	  superior alternatives, but some applications may still rely on
	  dnotify.

	  If unsure, say Y.

config AUTOFS_FS
	tristate "Kernel automounter support"
	help
	  The automounter is a tool to automatically mount remote file systems
	  on demand. This implementation is partially kernel-based to reduce
	  overhead in the already-mounted case; this is unlike the BSD
	  automounter (amd), which is a pure user space daemon.

	  To use the automounter you need the user-space tools from the autofs
	  package; you can find the location in <file:Documentation/Changes>.
	  You also want to answer Y to "NFS file system support", below.

	  If you want to use the newer version of the automounter with more
	  features, say N here and say Y to "Kernel automounter v4 support",
	  below.

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

	  If you are not a part of a fairly large, distributed network, you
	  probably do not need an automounter, and can say N here.

config AUTOFS4_FS
	tristate "Kernel automounter version 4 support (also supports v3)"
	help
	  The automounter is a tool to automatically mount remote file systems
	  on demand. This implementation is partially kernel-based to reduce
	  overhead in the already-mounted case; this is unlike the BSD
	  automounter (amd), which is a pure user space daemon.

	  To use the automounter you need the user-space tools from
	  <ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/>; you also
	  want to answer Y to "NFS file system support", below.

	  To compile this support as a module, choose M here: the module will be
	  called autofs4.  You will need to add "alias autofs autofs4" to your
	  modules configuration file.

	  If you are not a part of a fairly large, distributed network or
	  don't have a laptop which needs to dynamically reconfigure to the
	  local network, you probably do not need an automounter, and can say
	  N here.

config FUSE_FS
	tristate "Filesystem in Userspace support"
	help
	  With FUSE it is possible to implement a fully functional filesystem
	  in a userspace program.

	  There's also companion library: libfuse.  This library along with
	  utilities is available from the FUSE homepage:
	  <http://fuse.sourceforge.net/>

	  See <file:Documentation/filesystems/fuse.txt> for more information.
	  See <file:Documentation/Changes> for needed library/utility version.

	  If you want to develop a userspace FS, or if you want to use
	  a filesystem based on FUSE, answer Y or M.

config GENERIC_ACL
	bool
	select FS_POSIX_ACL

if BLOCK
menu "CD-ROM/DVD Filesystems"

config ISO9660_FS
	tristate "ISO 9660 CDROM file system support"
	help
	  This is the standard file system used on CD-ROMs.  It was previously
	  known as "High Sierra File System" and is called "hsfs" on other
	  Unix systems.  The so-called Rock-Ridge extensions which allow for
	  long Unix filenames and symbolic links are also supported by this
	  driver.  If you have a CD-ROM drive and want to do more with it than
	  just listen to audio CDs and watch its LEDs, say Y (and read
	  <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO,
	  available from <http://www.tldp.org/docs.html#howto>), thereby
	  enlarging your kernel by about 27 KB; otherwise say N.

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

config JOLIET
	bool "Microsoft Joliet CDROM extensions"
	depends on ISO9660_FS
	select NLS
	help
	  Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system
	  which allows for long filenames in unicode format (unicode is the
	  new 16 bit character code, successor to ASCII, which encodes the
	  characters of almost all languages of the world; see
	  <http://www.unicode.org/> for more information).  Say Y here if you
	  want to be able to read Joliet CD-ROMs under Linux.

config ZISOFS
	bool "Transparent decompression extension"
	depends on ISO9660_FS
	select ZLIB_INFLATE
	help
	  This is a Linux-specific extension to RockRidge which lets you store
	  data in compressed form on a CD-ROM and have it transparently
	  decompressed when the CD-ROM is accessed.  See
	  <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools
	  necessary to create such a filesystem.  Say Y here if you want to be
	  able to read such compressed CD-ROMs.

config UDF_FS
	tristate "UDF file system support"
	help
	  This is the new file system used on some CD-ROMs and DVDs. Say Y if
	  you intend to mount DVD discs or CDRW's written in packet mode, or
	  if written to by other UDF utilities, such as DirectCD.
	  Please read <file:Documentation/filesystems/udf.txt>.

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

	  If unsure, say N.

config UDF_NLS
	bool
	default y
	depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)

endmenu
endif

if BLOCK
menu "DOS/FAT/NT Filesystems"

config FAT_FS
	tristate
	select NLS
	help
	  If you want to use one of the FAT-based file systems (the MS-DOS and
	  VFAT (Windows 95) file systems), then you must say Y or M here
	  to include FAT support. You will then be able to mount partitions or
	  diskettes with FAT-based file systems and transparently access the
	  files on them, i.e. MSDOS files will look and behave just like all
	  other Unix files.

	  This FAT support is not a file system in itself, it only provides
	  the foundation for the other file systems. You will have to say Y or
	  M to at least one of "MSDOS fs support" or "VFAT fs support" in
	  order to make use of it.

	  Another way to read and write MSDOS floppies and hard drive
	  partitions from within Linux (but not transparently) is with the
	  mtools ("man mtools") program suite. You don't need to say Y here in
	  order to do that.

	  If you need to move large files on floppies between a DOS and a
	  Linux box, say Y here, mount the floppy under Linux with an MSDOS
	  file system and use GNU tar's M option. GNU tar is a program
	  available for Unix and DOS ("man tar" or "info tar").

	  The FAT support will enlarge your kernel by about 37 KB. If unsure,
	  say Y.

	  To compile this as a module, choose M here: the module will be called
	  fat.  Note that if you compile the FAT support as a module, you
	  cannot compile any of the FAT-based file systems into the kernel
	  -- they will have to be modules as well.

config MSDOS_FS
	tristate "MSDOS fs support"
	select FAT_FS
	help
	  This allows you to mount MSDOS partitions of your hard drive (unless
	  they are compressed; to access compressed MSDOS partitions under
	  Linux, you can either use the DOS emulator DOSEMU, described in the
	  DOSEMU-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in
	  <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you
	  intend to use dosemu with a non-compressed MSDOS partition, say Y
	  here) and MSDOS floppies. This means that file access becomes
	  transparent, i.e. the MSDOS files look and behave just like all
	  other Unix files.

	  If you have Windows 95 or Windows NT installed on your MSDOS
	  partitions, you should use the VFAT file system (say Y to "VFAT fs
	  support" below), or you will not be able to see the long filenames
	  generated by Windows 95 / Windows NT.

	  This option will enlarge your kernel by about 7 KB. If unsure,
	  answer Y. This will only work if you said Y to "DOS FAT fs support"
	  as well. To compile this as a module, choose M here: the module will
	  be called msdos.

config VFAT_FS
	tristate "VFAT (Windows-95) fs support"
	select FAT_FS
	help
	  This option provides support for normal Windows file systems with
	  long filenames.  That includes non-compressed FAT-based file systems
	  used by Windows 95, Windows 98, Windows NT 4.0, and the Unix
	  programs from the mtools package.

	  The VFAT support enlarges your kernel by about 10 KB and it only
	  works if you said Y to the "DOS FAT fs support" above.  Please read
	  the file <file:Documentation/filesystems/vfat.txt> for details.  If
	  unsure, say Y.

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

config FAT_DEFAULT_CODEPAGE
	int "Default codepage for FAT"
	depends on MSDOS_FS || VFAT_FS
	default 437
	help
	  This option should be set to the codepage of your FAT filesystems.
	  It can be overridden with the "codepage" mount option.
	  See <file:Documentation/filesystems/vfat.txt> for more information.

config FAT_DEFAULT_IOCHARSET
	string "Default iocharset for FAT"
	depends on VFAT_FS
	default "iso8859-1"
	help
	  Set this to the default input/output character set you'd
	  like FAT to use. It should probably match the character set
	  that most of your FAT filesystems use, and can be overridden
	  with the "iocharset" mount option for FAT filesystems.
	  Note that "utf8" is not recommended for FAT filesystems.
	  If unsure, you shouldn't set "utf8" here.
	  See <file:Documentation/filesystems/vfat.txt> for more information.

config NTFS_FS
	tristate "NTFS file system support"
	select NLS
	help
	  NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.

	  Saying Y or M here enables read support.  There is partial, but
	  safe, write support available.  For write support you must also
	  say Y to "NTFS write support" below.

	  There are also a number of user-space tools available, called
	  ntfsprogs.  These include ntfsundelete and ntfsresize, that work
	  without NTFS support enabled in the kernel.

	  This is a rewrite from scratch of Linux NTFS support and replaced
	  the old NTFS code starting with Linux 2.5.11.  A backport to
	  the Linux 2.4 kernel series is separately available as a patch
	  from the project web site.

	  For more information see <file:Documentation/filesystems/ntfs.txt>
	  and <http://linux-ntfs.sourceforge.net/>.

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

	  If you are not using Windows NT, 2000, XP or 2003 in addition to
	  Linux on your computer it is safe to say N.

config NTFS_DEBUG
	bool "NTFS debugging support"
	depends on NTFS_FS
	help
	  If you are experiencing any problems with the NTFS file system, say
	  Y here.  This will result in additional consistency checks to be
	  performed by the driver as well as additional debugging messages to
	  be written to the system log.  Note that debugging messages are
	  disabled by default.  To enable them, supply the option debug_msgs=1
	  at the kernel command line when booting the kernel or as an option
	  to insmod when loading the ntfs module.  Once the driver is active,
	  you can enable debugging messages by doing (as root):
	  echo 1 > /proc/sys/fs/ntfs-debug
	  Replacing the "1" with "0" would disable debug messages.

	  If you leave debugging messages disabled, this results in little
	  overhead, but enabling debug messages results in very significant
	  slowdown of the system.

	  When reporting bugs, please try to have available a full dump of
	  debugging messages while the misbehaviour was occurring.

config NTFS_RW
	bool "NTFS write support"
	depends on NTFS_FS
	help
	  This enables the partial, but safe, write support in the NTFS driver.

	  The only supported operation is overwriting existing files, without
	  changing the file length.  No file or directory creation, deletion or
	  renaming is possible.  Note only non-resident files can be written to
	  so you may find that some very small files (<500 bytes or so) cannot
	  be written to.

	  While we cannot guarantee that it will not damage any data, we have
	  so far not received a single report where the driver would have
	  damaged someones data so we assume it is perfectly safe to use.

	  Note:  While write support is safe in this version (a rewrite from
	  scratch of the NTFS support), it should be noted that the old NTFS
	  write support, included in Linux 2.5.10 and before (since 1997),
	  is not safe.

	  This is currently useful with TopologiLinux.  TopologiLinux is run
	  on top of any DOS/Microsoft Windows system without partitioning your
	  hard disk.  Unlike other Linux distributions TopologiLinux does not
	  need its own partition.  For more information see
	  <http://topologi-linux.sourceforge.net/>

	  It is perfectly safe to say N here.

endmenu
endif

menu "Pseudo filesystems"

config PROC_FS
	bool "/proc file system support" if EMBEDDED
	default y
	help
	  This is a virtual file system providing information about the status
	  of the system. "Virtual" means that it doesn't take up any space on
	  your hard disk: the files are created on the fly by the kernel when
	  you try to access them. Also, you cannot read the files with older
	  version of the program less: you need to use more or cat.

	  It's totally cool; for example, "cat /proc/interrupts" gives
	  information about what the different IRQs are used for at the moment
	  (there is a small number of Interrupt ReQuest lines in your computer
	  that are used by the attached devices to gain the CPU's attention --
	  often a source of trouble if two devices are mistakenly configured
	  to use the same IRQ). The program procinfo to display some
	  information about your system gathered from the /proc file system.

	  Before you can use the /proc file system, it has to be mounted,
	  meaning it has to be given a location in the directory hierarchy.
	  That location should be /proc. A command such as "mount -t proc proc
	  /proc" or the equivalent line in /etc/fstab does the job.

	  The /proc file system is explained in the file
	  <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage
	  ("man 5 proc").

	  This option will enlarge your kernel by about 67 KB. Several
	  programs depend on this, so everyone should say Y here.

config PROC_KCORE
	bool "/proc/kcore support" if !ARM
	depends on PROC_FS && MMU

config PROC_VMCORE
        bool "/proc/vmcore support (EXPERIMENTAL)"
        depends on PROC_FS && EXPERIMENTAL && CRASH_DUMP
	default y
        help
        Exports the dump image of crashed kernel in ELF format.

config PROC_SYSCTL
	bool "Sysctl support (/proc/sys)" if EMBEDDED
	depends on PROC_FS
	select SYSCTL
	default y
	---help---
	  The sysctl interface provides a means of dynamically changing
	  certain kernel parameters and variables on the fly without requiring
	  a recompile of the kernel or reboot of the system.  The primary
	  interface is through /proc/sys.  If you say Y here a tree of
	  modifiable sysctl entries will be generated beneath the
          /proc/sys directory. They are explained in the files
	  in <file:Documentation/sysctl/>.  Note that enabling this
	  option will enlarge the kernel by at least 8 KB.

	  As it is generally a good thing, you should say Y here unless
	  building a kernel for install/rescue disks or your system is very
	  limited in memory.

config SYSFS
	bool "sysfs file system support" if EMBEDDED
	default y
	help
	The sysfs filesystem is a virtual filesystem that the kernel uses to
	export internal kernel objects, their attributes, and their
	relationships to one another.

	Users can use sysfs to ascertain useful information about the running
	kernel, such as the devices the kernel has discovered on each bus and
	which driver each is bound to. sysfs can also be used to tune devices
	and other kernel subsystems.

	Some system agents rely on the information in sysfs to operate.
	/sbin/hotplug uses device and object attributes in sysfs to assist in
	delegating policy decisions, like persistently naming devices.

	sysfs is currently used by the block subsystem to mount the root
	partition.  If sysfs is disabled you must specify the boot device on
	the kernel boot command line via its major and minor numbers.  For
	example, "root=03:01" for /dev/hda1.

	Designers of embedded systems may wish to say N here to conserve space.

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

config RAMFS
	bool
	default y
	---help---
	  Ramfs is a file system which keeps all files in RAM. It allows
	  read and write access.

	  It is more of an programming example than a useable file system.  If
	  you need a file system which lives in RAM with limit checking use
	  tmpfs.

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

config CONFIGFS_FS
	tristate "Userspace-driven configuration filesystem (EXPERIMENTAL)"
	depends on SYSFS && EXPERIMENTAL
	help
	  configfs is a ram-based filesystem that provides the converse
	  of sysfs's functionality. Where sysfs is a filesystem-based
	  view of kernel objects, configfs is a filesystem-based manager
	  of kernel objects, or config_items.

	  Both sysfs and configfs can and should exist together on the
	  same system. One is not a replacement for the other.

endmenu

menu "Miscellaneous filesystems"

config ADFS_FS
	tristate "ADFS file system support (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	help
	  The Acorn Disc Filing System is the standard file system of the
	  RiscOS operating system which runs on Acorn's ARM-based Risc PC
	  systems and the Acorn Archimedes range of machines. If you say Y
	  here, Linux will be able to read from ADFS partitions on hard drives
	  and from ADFS-formatted floppy discs. If you also want to be able to
	  write to those devices, say Y to "ADFS write support" below.

	  The ADFS partition should be the first partition (i.e.,
	  /dev/[hs]d?1) on each of your drives. Please read the file
	  <file:Documentation/filesystems/adfs.txt> for further details.

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

	  If unsure, say N.

config ADFS_FS_RW
	bool "ADFS write support (DANGEROUS)"
	depends on ADFS_FS
	help
	  If you say Y here, you will be able to write to ADFS partitions on
	  hard drives and ADFS-formatted floppy disks. This is experimental
	  codes, so if you're unsure, say N.

config AFFS_FS
	tristate "Amiga FFS file system support (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	help
	  The Fast File System (FFS) is the common file system used on hard
	  disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).  Say Y
	  if you want to be able to read and write files from and to an Amiga
	  FFS partition on your hard drive.  Amiga floppies however cannot be
	  read with this driver due to an incompatibility of the floppy
	  controller used in an Amiga and the standard floppy controller in
	  PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
	  and <file:fs/affs/Changes>.

	  With this driver you can also mount disk files used by Bernd
	  Schmidt's Un*X Amiga Emulator
	  (<http://www.freiburg.linux.de/~uae/>).
	  If you want to do this, you will also need to say Y or M to "Loop
	  device support", above.

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

config ECRYPT_FS
	tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
	depends on EXPERIMENTAL && KEYS && CRYPTO && NET
	help
	  Encrypted filesystem that operates on the VFS layer.  See
	  <file:Documentation/ecryptfs.txt> to learn more about
	  eCryptfs.  Userspace components are required and can be
	  obtained from <http://ecryptfs.sf.net>.

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

config HFS_FS
	tristate "Apple Macintosh file system support (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	select NLS
	help
	  If you say Y here, you will be able to mount Macintosh-formatted
	  floppy disks and hard drive partitions with full read-write access.
	  Please read <file:fs/hfs/HFS.txt> to learn about the available mount
	  options.

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

config HFSPLUS_FS
	tristate "Apple Extended HFS file system support"
	depends on BLOCK
	select NLS
	select NLS_UTF8
	help
	  If you say Y here, you will be able to mount extended format
	  Macintosh-formatted hard drive partitions with full read-write access.

	  This file system is often called HFS+ and was introduced with
	  MacOS 8. It includes all Mac specific filesystem data such as
	  data forks and creator codes, but it also has several UNIX
	  style features such as file ownership and permissions.

config BEFS_FS
	tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	select NLS
	help
	  The BeOS File System (BeFS) is the native file system of Be, Inc's
	  BeOS. Notable features include support for arbitrary attributes
	  on files and directories, and database-like indices on selected
	  attributes. (Also note that this driver doesn't make those features
	  available at this time). It is a 64 bit filesystem, so it supports
	  extremely large volumes and files.

	  If you use this filesystem, you should also say Y to at least one
	  of the NLS (native language support) options below.

	  If you don't know what this is about, say N.

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

config BEFS_DEBUG
	bool "Debug BeFS"
	depends on BEFS_FS
	help
	  If you say Y here, you can use the 'debug' mount option to enable
	  debugging output from the driver. 

config BFS_FS
	tristate "BFS file system support (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	help
	  Boot File System (BFS) is a file system used under SCO UnixWare to
	  allow the bootloader access to the kernel image and other important
	  files during the boot process.  It is usually mounted under /stand
	  and corresponds to the slice marked as "STAND" in the UnixWare
	  partition.  You should say Y if you want to read or write the files
	  on your /stand slice from within Linux.  You then also need to say Y
	  to "UnixWare slices support", below.  More information about the BFS
	  file system is contained in the file
	  <file:Documentation/filesystems/bfs.txt>.

	  If you don't know what this is about, say N.

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



config EFS_FS
	tristate "EFS file system support (read only) (EXPERIMENTAL)"
	depends on BLOCK && EXPERIMENTAL
	help
	  EFS is an older file system used for non-ISO9660 CD-ROMs and hard
	  disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer
	  uses the XFS file system for hard disk partitions however).

	  This implementation only offers read-only access. If you don't know
	  what all this is about, it's safe to say N. For more information
	  about EFS see its home page at <http://aeschi.ch.eu.org/efs/>.

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

config JFFS2_FS
	tristate "Journalling Flash File System v2 (JFFS2) support"
	select CRC32
	depends on MTD
	help
	  JFFS2 is the second generation of the Journalling Flash File System
	  for use on diskless embedded devices. It provides improved wear
	  levelling, compression and support for hard links. You cannot use
	  this on normal block devices, only on 'MTD' devices.

	  Further information on the design and implementation of JFFS2 is
	  available at <http://sources.redhat.com/jffs2/>.

config JFFS2_FS_DEBUG
	int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
	depends on JFFS2_FS
	default "0"
	help
	  This controls the amount of debugging messages produced by the JFFS2
	  code. Set it to zero for use in production systems. For evaluation,
	  testing and debugging, it's advisable to set it to one. This will
	  enable a few assertions and will print debugging messages at the
	  KERN_DEBUG loglevel, where they won't normally be visible. Level 2
	  is unlikely to be useful - it enables extra debugging in certain
	  areas which at one point needed debugging, but when the bugs were
	  located and fixed, the detailed messages were relegated to level 2.

	  If reporting bugs, please try to have available a full dump of the
	  messages at debug level 1 while the misbehaviour was occurring.

config JFFS2_FS_WRITEBUFFER
	bool "JFFS2 write-buffering support"
	depends on JFFS2_FS
	default y
	help
	  This enables the write-buffering support in JFFS2.

	  This functionality is required to support JFFS2 on the following
	  types of flash devices:
	    - NAND flash
	    - NOR flash with transparent ECC
	    - DataFlash

config JFFS2_FS_WBUF_VERIFY
	bool "Verify JFFS2 write-buffer reads"
	depends on JFFS2_FS_WRITEBUFFER
	default n
	help
	  This causes JFFS2 to read back every page written through the
	  write-buffer, and check for errors.

config JFFS2_SUMMARY
	bool "JFFS2 summary support (EXPERIMENTAL)"
	depends on JFFS2_FS && EXPERIMENTAL
	default n
	help
	  This feature makes it possible to use summary information
	  for faster filesystem mount.

	  The summary information can be inserted into a filesystem image
	  by the utility 'sumtool'.

	  If unsure, say 'N'.

config JFFS2_FS_XATTR
	bool "JFFS2 XATTR support (EXPERIMENTAL)"
	depends on JFFS2_FS && EXPERIMENTAL
	default n
	help
	  Extended attributes are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page, or visit
	  <http://acl.bestbits.at/> for details).
	  
	  If unsure, say N.

config JFFS2_FS_POSIX_ACL
	bool "JFFS2 POSIX Access Control Lists"
	depends on JFFS2_FS_XATTR
	default y
	select FS_POSIX_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 JFFS2_FS_SECURITY
	bool "JFFS2 Security Labels"
	depends on JFFS2_FS_XATTR
	default y
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
	  enables an extended attribute handler for file security
	  labels in the jffs2 filesystem.
	  
	  If you are not using a security module that requires using
	  extended attributes for file security labels, say N.

config JFFS2_COMPRESSION_OPTIONS
	bool "Advanced compression options for JFFS2"
	depends on JFFS2_FS
	default n
	help
	  Enabling this option allows you to explicitly choose which
	  compression modules, if any, are enabled in JFFS2. Removing
	  compressors and mean you cannot read existing file systems,
	  and enabling experimental compressors can mean that you
	  write a file system which cannot be read by a standard kernel.

	  If unsure, you should _definitely_ say 'N'.

config JFFS2_ZLIB
	bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
	select ZLIB_INFLATE
	select ZLIB_DEFLATE
	depends on JFFS2_FS
	default y
	help
	  Zlib is designed to be a free, general-purpose, legally unencumbered,
	  lossless data-compression library for use on virtually any computer
	  hardware and operating system. See <http://www.gzip.org/zlib/> for
	  further information.

	  Say 'Y' if unsure.

config JFFS2_LZO
	bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
	select LZO_COMPRESS
	select LZO_DECOMPRESS
	depends on JFFS2_FS
	default n
	help
	  minilzo-based compression. Generally works better than Zlib.

	  This feature was added in July, 2007. Say 'N' if you need
	  compatibility with older bootloaders or kernels.

config JFFS2_RTIME
	bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
	depends on JFFS2_FS
	default y
	help
	  Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.

config JFFS2_RUBIN
	bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
	depends on JFFS2_FS
	default n
	help
	  RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.

choice
	prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
	default JFFS2_CMODE_PRIORITY
	depends on JFFS2_FS
	help
	  You can set here the default compression mode of JFFS2 from
	  the available compression modes. Don't touch if unsure.

config JFFS2_CMODE_NONE
	bool "no compression"
	help
	  Uses no compression.

config JFFS2_CMODE_PRIORITY
	bool "priority"
	help
	  Tries the compressors in a predefined order and chooses the first
	  successful one.

config JFFS2_CMODE_SIZE
	bool "size (EXPERIMENTAL)"
	help
	  Tries all compressors and chooses the one which has the smallest
	  result.

config JFFS2_CMODE_FAVOURLZO
	bool "Favour LZO"
	help
	  Tries all compressors and chooses the one which has the smallest
	  result but gives some preference to LZO (which has faster
	  decompression) at the expense of size.

endchoice

config CRAMFS
	tristate "Compressed ROM file system support (cramfs)"
	depends on BLOCK
	select ZLIB_INFLATE
	help
	  Saying Y here includes support for CramFs (Compressed ROM File
	  System).  CramFs is designed to be a simple, small, and compressed
	  file system for ROM based embedded systems.  CramFs is read-only,
	  limited to 256MB file systems (with 16MB files), and doesn't support
	  16/32 bits uid/gid, hard links and timestamps.

	  See <file:Documentation/filesystems/cramfs.txt> and
	  <file:fs/cramfs/README> for further information.

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

	  If unsure, say N.

config VXFS_FS
	tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
	depends on BLOCK
	help
	  FreeVxFS is a file system driver that support the VERITAS VxFS(TM)
	  file system format.  VERITAS VxFS(TM) is the standard file system
	  of SCO UnixWare (and possibly others) and optionally available
	  for Sunsoft Solaris, HP-UX and many other operating systems.
	  Currently only readonly access is supported.

	  NOTE: the file system type as used by mount(1), mount(2) and
	  fstab(5) is 'vxfs' as it describes the file system format, not
	  the actual driver.

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


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

	  If you only intend to mount files from some other Unix over the
	  network using NFS, you don't need the UFS 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").

	  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.

endmenu

menu "Network File Systems"
	depends on NET

config NFS_FS
	tristate "NFS file system support"
	depends on INET
	select LOCKD
	select SUNRPC
	select NFS_ACL_SUPPORT if NFS_V3_ACL
	help
	  If you are connected to some other (usually local) Unix computer
	  (using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
	  on that computer (the NFS server) using the Network File Sharing
	  protocol, say Y. "Mounting files" means that the client can access
	  the files with usual UNIX commands as if they were sitting on the
	  client's hard disk. For this to work, the server must run the
	  programs nfsd and mountd (but does not need to have NFS file system
	  support enabled in its kernel). NFS is explained in the Network
	  Administrator's Guide, available from
	  <http://www.tldp.org/docs.html#guide>, on its man page: "man
	  nfs", and in the NFS-HOWTO.

	  A superior but less widely used alternative to NFS is provided by
	  the Coda file system; see "Coda file system support" below.

	  If you say Y here, you should have said Y to TCP/IP networking also.
	  This option would enlarge your kernel by about 27 KB.

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

	  If you are configuring a diskless machine which will mount its root
	  file system over NFS at boot time, say Y here and to "Kernel
	  level IP autoconfiguration" above and to "Root file system on NFS"
	  below. You cannot compile this driver as a module in this case.
	  There are two packages designed for booting diskless machines over
	  the net: netboot, available from
	  <http://ftp1.sourceforge.net/netboot/>, and Etherboot,
	  available from <http://ftp1.sourceforge.net/etherboot/>.

	  If you don't know what all this is about, say N.

config NFS_V3
	bool "Provide NFSv3 client support"
	depends on NFS_FS
	help
	  Say Y here if you want your NFS client to be able to speak version
	  3 of the NFS protocol.

	  If unsure, say Y.

config NFS_V3_ACL
	bool "Provide client support for the NFSv3 ACL protocol extension"
	depends on NFS_V3
	help
	  Implement the NFSv3 ACL protocol extension for manipulating POSIX
	  Access Control Lists.  The server should also be compiled with
	  the NFSv3 ACL protocol extension; see the CONFIG_NFSD_V3_ACL option.

	  If unsure, say N.

config NFS_V4
	bool "Provide NFSv4 client support (EXPERIMENTAL)"
	depends on NFS_FS && EXPERIMENTAL
	select RPCSEC_GSS_KRB5
	help
	  Say Y here if you want your NFS client to be able to speak the newer
	  version 4 of the NFS protocol.

	  Note: Requires auxiliary userspace daemons which may be found on
		http://www.citi.umich.edu/projects/nfsv4/

	  If unsure, say N.

config NFS_DIRECTIO
	bool "Allow direct I/O on NFS files"
	depends on NFS_FS
	help
	  This option enables applications to perform uncached I/O on files
	  in NFS file systems using the O_DIRECT open() flag.  When O_DIRECT
	  is set for a file, its data is not cached in the system's page
	  cache.  Data is moved to and from user-level application buffers
	  directly.  Unlike local disk-based file systems, NFS O_DIRECT has
	  no alignment restrictions.

	  Unless your program is designed to use O_DIRECT properly, you are
	  much better off allowing the NFS client to manage data caching for
	  you.  Misusing O_DIRECT can cause poor server performance or network
	  storms.  This kernel build option defaults OFF to avoid exposing
	  system administrators unwittingly to a potentially hazardous
	  feature.

	  For more details on NFS O_DIRECT, see fs/nfs/direct.c.

	  If unsure, say N.  This reduces the size of the NFS client, and
	  causes open() to return EINVAL if a file residing in NFS is
	  opened with the O_DIRECT flag.

config NFSD
	tristate "NFS server support"
	depends on INET
	select LOCKD
	select SUNRPC
	select EXPORTFS
	select NFSD_V2_ACL if NFSD_V3_ACL
	select NFS_ACL_SUPPORT if NFSD_V2_ACL
	select NFSD_TCP if NFSD_V4
	select CRYPTO_MD5 if NFSD_V4
	select CRYPTO if NFSD_V4
	select FS_POSIX_ACL if NFSD_V4
	help
	  If you want your Linux box to act as an NFS *server*, so that other
	  computers on your local network which support NFS can access certain
	  directories on your box transparently, you have two options: you can
	  use the self-contained user space program nfsd, in which case you
	  should say N here, or you can say Y and use the kernel based NFS
	  server. The advantage of the kernel based solution is that it is
	  faster.

	  In either case, you will need support software; the respective
	  locations are given in the file <file:Documentation/Changes> in the
	  NFS section.

	  If you say Y here, you will get support for version 2 of the NFS
	  protocol (NFSv2). If you also want NFSv3, say Y to the next question
	  as well.

	  Please read the NFS-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>.

	  To compile the NFS server support as a module, choose M here: the
	  module will be called nfsd.  If unsure, say N.

config NFSD_V2_ACL
	bool
	depends on NFSD

config NFSD_V3
	bool "Provide NFSv3 server support"
	depends on NFSD
	help
	  If you would like to include the NFSv3 server as well as the NFSv2
	  server, say Y here.  If unsure, say Y.

config NFSD_V3_ACL
	bool "Provide server support for the NFSv3 ACL protocol extension"
	depends on NFSD_V3
	help
	  Implement the NFSv3 ACL protocol extension for manipulating POSIX
	  Access Control Lists on exported file systems. NFS clients should
	  be compiled with the NFSv3 ACL protocol extension; see the
	  CONFIG_NFS_V3_ACL option.  If unsure, say N.

config NFSD_V4
	bool "Provide NFSv4 server support (EXPERIMENTAL)"
	depends on NFSD && NFSD_V3 && EXPERIMENTAL
	select RPCSEC_GSS_KRB5
	help
	  If you would like to include the NFSv4 server as well as the NFSv2
	  and NFSv3 servers, say Y here.  This feature is experimental, and
	  should only be used if you are interested in helping to test NFSv4.
	  If unsure, say N.

config NFSD_TCP
	bool "Provide NFS server over TCP support"
	depends on NFSD
	default y
	help
	  If you want your NFS server to support TCP connections, say Y here.
	  TCP connections usually perform better than the default UDP when
	  the network is lossy or congested.  If unsure, say Y.

config ROOT_NFS
	bool "Root file system on NFS"
	depends on NFS_FS=y && IP_PNP
	help
	  If you want your Linux box to mount its whole root file system (the
	  one containing the directory /) from some other computer over the
	  net via NFS (presumably because your box doesn't have a hard disk),
	  say Y. Read <file:Documentation/nfsroot.txt> for details. It is
	  likely that in this case, you also want to say Y to "Kernel level IP
	  autoconfiguration" so that your box can discover its network address
	  at boot time.

	  Most people say N here.

config LOCKD
	tristate

config LOCKD_V4
	bool
	depends on NFSD_V3 || NFS_V3
	default y

config EXPORTFS
	tristate

config NFS_ACL_SUPPORT
	tristate
	select FS_POSIX_ACL

config NFS_COMMON
	bool
	depends on NFSD || NFS_FS
	default y

config SUNRPC
	tristate

config SUNRPC_GSS
	tristate

config SUNRPC_XPRT_RDMA
	tristate "RDMA transport for sunrpc (EXPERIMENTAL)"
	depends on SUNRPC && INFINIBAND && EXPERIMENTAL
	default m
	help
	  Adds a client RPC transport for supporting kernel NFS over RDMA
	  mounts, including Infiniband and iWARP. Experimental.

config SUNRPC_BIND34
	bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)"
	depends on SUNRPC && EXPERIMENTAL
	help
	  Provides kernel support for querying rpcbind servers via versions 3
	  and 4 of the rpcbind protocol.  The kernel automatically falls back
	  to version 2 if a remote rpcbind service does not support versions
	  3 or 4.

	  If unsure, say N to get traditional behavior (version 2 rpcbind
	  requests only).

config RPCSEC_GSS_KRB5
	tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
	depends on SUNRPC && EXPERIMENTAL
	select SUNRPC_GSS
	select CRYPTO
	select CRYPTO_MD5
	select CRYPTO_DES
	select CRYPTO_CBC
	help
	  Provides for secure RPC calls by means of a gss-api
	  mechanism based on Kerberos V5. This is required for
	  NFSv4.

	  Note: Requires an auxiliary userspace daemon which may be found on
		http://www.citi.umich.edu/projects/nfsv4/

	  If unsure, say N.

config RPCSEC_GSS_SPKM3
	tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)"
	depends on SUNRPC && EXPERIMENTAL
	select SUNRPC_GSS
	select CRYPTO
	select CRYPTO_MD5
	select CRYPTO_DES
	select CRYPTO_CAST5
	select CRYPTO_CBC
	help
	  Provides for secure RPC calls by means of a gss-api
	  mechanism based on the SPKM3 public-key mechanism.

	  Note: Requires an auxiliary userspace daemon which may be found on
	  	http://www.citi.umich.edu/projects/nfsv4/

	  If unsure, say N.

config SMB_FS
	tristate "SMB file system support (to mount Windows shares etc.)"
	depends on INET
	select NLS
	help
	  SMB (Server Message Block) is the protocol Windows for Workgroups
	  (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share
	  files and printers over local networks.  Saying Y here allows you to
	  mount their file systems (often called "shares" in this context) and
	  access them just like any other Unix directory.  Currently, this
	  works only if the Windows machines use TCP/IP as the underlying
	  transport protocol, and not NetBEUI.  For details, read
	  <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO,
	  available from <http://www.tldp.org/docs.html#howto>.

	  Note: if you just want your box to act as an SMB *server* and make
	  files and printing services available to Windows clients (which need
	  to have a TCP/IP stack), you don't need to say Y here; you can use
	  the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>)
	  for that.

	  General information about how to connect Linux, Windows machines and
	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.

	  To compile the SMB support as a module, choose M here: the module will
	  be called smbfs.  Most people say N, however.

config SMB_NLS_DEFAULT
	bool "Use a default NLS"
	depends on SMB_FS
	help
	  Enabling this will make smbfs use nls translations by default. You
	  need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls
	  settings and you need to give the default nls for the SMB server as
	  CONFIG_SMB_NLS_REMOTE.

	  The nls settings can be changed at mount time, if your smbmount
	  supports that, using the codepage and iocharset parameters.

	  smbmount from samba 2.2.0 or later supports this.

config SMB_NLS_REMOTE
	string "Default Remote NLS Option"
	depends on SMB_NLS_DEFAULT
	default "cp437"
	help
	  This setting allows you to specify a default value for which
	  codepage the server uses. If this field is left blank no
	  translations will be done by default. The local codepage/charset
	  default to CONFIG_NLS_DEFAULT.

	  The nls settings can be changed at mount time, if your smbmount
	  supports that, using the codepage and iocharset parameters.

	  smbmount from samba 2.2.0 or later supports this.

config CIFS
	tristate "CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)"
	depends on INET
	select NLS
	help
	  This is the client VFS module for the Common Internet File System
	  (CIFS) protocol which is the successor to the Server Message Block 
	  (SMB) protocol, the native file sharing mechanism for most early
	  PC operating systems.  The CIFS protocol is fully supported by 
	  file servers such as Windows 2000 (including Windows 2003, NT 4  
	  and Windows XP) as well by Samba (which provides excellent CIFS
	  server support for Linux and many other operating systems). Limited
	  support for OS/2 and Windows ME and similar servers is provided as well.

	  The intent of the cifs module is to provide an advanced
	  network file system client for mounting to CIFS compliant servers,
	  including support for dfs (hierarchical name space), secure per-user
	  session establishment, safe distributed caching (oplock), optional
	  packet signing, Unicode and other internationalization improvements. 
	  If you need to mount to Samba or Windows from this machine, say Y.

config CIFS_STATS
        bool "CIFS statistics"
        depends on CIFS
        help
          Enabling this option will cause statistics for each server share
	  mounted by the cifs client to be displayed in /proc/fs/cifs/Stats

config CIFS_STATS2
	bool "Extended statistics"
	depends on CIFS_STATS
	help
	  Enabling this option will allow more detailed statistics on SMB
	  request timing to be displayed in /proc/fs/cifs/DebugData and also
	  allow optional logging of slow responses to dmesg (depending on the
	  value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details).
	  These additional statistics may have a minor effect on performance
	  and memory utilization.

	  Unless you are a developer or are doing network performance analysis
	  or tuning, say N.

config CIFS_WEAK_PW_HASH
	bool "Support legacy servers which use weaker LANMAN security"
	depends on CIFS
	help
	  Modern CIFS servers including Samba and most Windows versions
	  (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos)
	  security mechanisms. These hash the password more securely
	  than the mechanisms used in the older LANMAN version of the
          SMB protocol needed to establish sessions with old SMB servers.

	  Enabling this option allows the cifs module to mount to older
	  LANMAN based servers such as OS/2 and Windows 95, but such
	  mounts may be less secure than mounts using NTLM or more recent
	  security mechanisms if you are on a public network.  Unless you
	  have a need to access old SMB servers (and are on a private 
	  network) you probably want to say N.  Even if this support
	  is enabled in the kernel build, they will not be used
	  automatically. At runtime LANMAN mounts are disabled but
	  can be set to required (or optional) either in
	  /proc/fs/cifs (see fs/cifs/README for more detail) or via an
	  option on the mount command. This support is disabled by 
	  default in order to reduce the possibility of a downgrade
	  attack.
 
	  If unsure, say N.

config CIFS_XATTR
        bool "CIFS extended attributes"
        depends on CIFS
        help
          Extended attributes are name:value pairs associated with inodes by
          the kernel or by users (see the attr(5) manual page, or visit
          <http://acl.bestbits.at/> for details).  CIFS maps the name of
          extended attributes beginning with the user namespace prefix
          to SMB/CIFS EAs. EAs are stored on Windows servers without the
          user namespace prefix, but their names are seen by Linux cifs clients
          prefaced by the user namespace prefix. The system namespace
          (used by some filesystems to store ACLs) is not supported at
          this time.

          If unsure, say N.

config CIFS_POSIX
        bool "CIFS POSIX Extensions"
        depends on CIFS_XATTR
        help
          Enabling this option will cause the cifs client to attempt to
	  negotiate a newer dialect with servers, such as Samba 3.0.5
	  or later, that optionally can handle more POSIX like (rather
	  than Windows like) file behavior.  It also enables
	  support for POSIX ACLs (getfacl and setfacl) to servers
	  (such as Samba 3.10 and later) which can negotiate
	  CIFS POSIX ACL support.  If unsure, say N.

config CIFS_DEBUG2
	bool "Enable additional CIFS debugging routines"
	depends on CIFS
	help
	   Enabling this option adds a few more debugging routines
	   to the cifs code which slightly increases the size of
	   the cifs module and can cause additional logging of debug
	   messages in some error paths, slowing performance. This
	   option can be turned off unless you are debugging
	   cifs problems.  If unsure, say N.
	   
config CIFS_EXPERIMENTAL
	  bool "CIFS Experimental Features (EXPERIMENTAL)"
	  depends on CIFS && EXPERIMENTAL
	  help
	    Enables cifs features under testing. These features are
	    experimental and currently include DFS support and directory 
	    change notification ie fcntl(F_DNOTIFY), as well as the upcall
	    mechanism which will be used for Kerberos session negotiation
	    and uid remapping.  Some of these features also may depend on 
	    setting a value of 1 to the pseudo-file /proc/fs/cifs/Experimental
	    (which is disabled by default). See the file fs/cifs/README 
	    for more details.  If unsure, say N.

config CIFS_UPCALL
	  bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)"
	  depends on CIFS_EXPERIMENTAL
	  depends on CONNECTOR
	  help
	    Enables an upcall mechanism for CIFS which will be used to contact
	    userspace helper utilities to provide SPNEGO packaged Kerberos
	    tickets which are needed to mount to certain secure servers
	    (for which more secure Kerberos authentication is required). If
	    unsure, say N.

config NCP_FS
	tristate "NCP file system support (to mount NetWare volumes)"
	depends on IPX!=n || INET
	help
	  NCP (NetWare Core Protocol) is a protocol that runs over IPX and is
	  used by Novell NetWare clients to talk to file servers.  It is to
	  IPX what NFS is to TCP/IP, if that helps.  Saying Y here allows you
	  to mount NetWare file server volumes and to access them just like
	  any other Unix directory.  For details, please read the file
	  <file:Documentation/filesystems/ncpfs.txt> in the kernel source and
	  the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>.

	  You do not have to say Y here if you want your Linux box to act as a
	  file *server* for Novell NetWare clients.

	  General information about how to connect Linux, Windows machines and
	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.

	  To compile this as a module, choose M here: the module will be called
	  ncpfs.  Say N unless you are connected to a Novell network.

source "fs/ncpfs/Kconfig"

config CODA_FS
	tristate "Coda file system support (advanced network fs)"
	depends on INET
	help
	  Coda is an advanced network file system, similar to NFS in that it
	  enables you to mount file systems of a remote server and access them
	  with regular Unix commands as if they were sitting on your hard
	  disk.  Coda has several advantages over NFS: support for
	  disconnected operation (e.g. for laptops), read/write server
	  replication, security model for authentication and encryption,
	  persistent client caches and write back caching.

	  If you say Y here, your Linux box will be able to act as a Coda
	  *client*.  You will need user level code as well, both for the
	  client and server.  Servers are currently user level, i.e. they need
	  no kernel support.  Please read
	  <file:Documentation/filesystems/coda.txt> and check out the Coda
	  home page <http://www.coda.cs.cmu.edu/>.

	  To compile the coda client support as a module, choose M here: the
	  module will be called coda.

config CODA_FS_OLD_API
	bool "Use 96-bit Coda file identifiers"
	depends on CODA_FS
	help
	  A new kernel-userspace API had to be introduced for Coda v6.0
	  to support larger 128-bit file identifiers as needed by the
	  new realms implementation.

	  However this new API is not backward compatible with older
	  clients. If you really need to run the old Coda userspace
	  cache manager then say Y.
	  
	  For most cases you probably want to say N.

config AFS_FS
	tristate "Andrew File System support (AFS) (EXPERIMENTAL)"
	depends on INET && EXPERIMENTAL
	select AF_RXRPC
	help
	  If you say Y here, you will get an experimental Andrew File System
	  driver. It currently only supports unsecured read-only AFS access.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.

config AFS_DEBUG
	bool "AFS dynamic debugging"
	depends on AFS_FS
	help
	  Say Y here to make runtime controllable debugging messages appear.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.

config 9P_FS
	tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)"
	depends on INET && NET_9P && EXPERIMENTAL
	help
	  If you say Y here, you will get experimental support for
	  Plan 9 resource sharing via the 9P2000 protocol.

	  See <http://v9fs.sf.net> for more information.

	  If unsure, say N.

endmenu

if BLOCK
menu "Partition Types"

source "fs/partitions/Kconfig"

endmenu
endif

source "fs/nls/Kconfig"
source "fs/dlm/Kconfig"

endmenu