1# 2# File system configuration 3# 4 5menu "File systems" 6 7if BLOCK 8 9source "fs/ext2/Kconfig" 10source "fs/ext3/Kconfig" 11source "fs/ext4/Kconfig" 12 13config FS_XIP 14# execute in place 15 bool 16 depends on EXT2_FS_XIP 17 default y 18 19source "fs/jbd/Kconfig" 20source "fs/jbd2/Kconfig" 21 22config FS_MBCACHE 23# Meta block cache for Extended Attributes (ext2/ext3/ext4) 24 tristate 25 default y if EXT2_FS=y && EXT2_FS_XATTR 26 default y if EXT3_FS=y && EXT3_FS_XATTR 27 default y if EXT4_FS=y && EXT4_FS_XATTR 28 default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR 29 30source "fs/reiserfs/Kconfig" 31source "fs/jfs/Kconfig" 32 33config FS_POSIX_ACL 34# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4) 35# 36# NOTE: you can implement Posix ACLs without these helpers (XFS does). 37# Never use this symbol for ifdefs. 38# 39 bool 40 default n 41 42config FILE_LOCKING 43 bool "Enable POSIX file locking API" if EMBEDDED 44 default y 45 help 46 This option enables standard file locking support, required 47 for filesystems like NFS and for the flock() system 48 call. Disabling this option saves about 11k. 49 50source "fs/xfs/Kconfig" 51source "fs/gfs2/Kconfig" 52source "fs/ocfs2/Kconfig" 53source "fs/btrfs/Kconfig" 54 55endif # BLOCK 56 57source "fs/notify/Kconfig" 58 59config QUOTA 60 bool "Quota support" 61 help 62 If you say Y here, you will be able to set per user limits for disk 63 usage (also called disk quotas). Currently, it works for the 64 ext2, ext3, and reiserfs file system. ext3 also supports journalled 65 quotas for which you don't need to run quotacheck(8) after an unclean 66 shutdown. 67 For further details, read the Quota mini-HOWTO, available from 68 <http://www.tldp.org/docs.html#howto>, or the documentation provided 69 with the quota tools. Probably the quota support is only useful for 70 multi user systems. If unsure, say N. 71 72config QUOTA_NETLINK_INTERFACE 73 bool "Report quota messages through netlink interface" 74 depends on QUOTA && NET 75 help 76 If you say Y here, quota warnings (about exceeding softlimit, reaching 77 hardlimit, etc.) will be reported through netlink interface. If unsure, 78 say Y. 79 80config PRINT_QUOTA_WARNING 81 bool "Print quota warnings to console (OBSOLETE)" 82 depends on QUOTA 83 default y 84 help 85 If you say Y here, quota warnings (about exceeding softlimit, reaching 86 hardlimit, etc.) will be printed to the process' controlling terminal. 87 Note that this behavior is currently deprecated and may go away in 88 future. Please use notification via netlink socket instead. 89 90# Generic support for tree structured quota files. Seleted when needed. 91config QUOTA_TREE 92 tristate 93 94config QFMT_V1 95 tristate "Old quota format support" 96 depends on QUOTA 97 help 98 This quota format was (is) used by kernels earlier than 2.4.22. If 99 you have quota working and you don't want to convert to new quota 100 format say Y here. 101 102config QFMT_V2 103 tristate "Quota format v2 support" 104 depends on QUOTA 105 select QUOTA_TREE 106 help 107 This quota format allows using quotas with 32-bit UIDs/GIDs. If you 108 need this functionality say Y here. 109 110config QUOTACTL 111 bool 112 depends on XFS_QUOTA || QUOTA 113 default y 114 115source "fs/autofs/Kconfig" 116source "fs/autofs4/Kconfig" 117 118config FUSE_FS 119 tristate "FUSE (Filesystem in Userspace) support" 120 help 121 With FUSE it is possible to implement a fully functional filesystem 122 in a userspace program. 123 124 There's also companion library: libfuse. This library along with 125 utilities is available from the FUSE homepage: 126 <http://fuse.sourceforge.net/> 127 128 See <file:Documentation/filesystems/fuse.txt> for more information. 129 See <file:Documentation/Changes> for needed library/utility version. 130 131 If you want to develop a userspace FS, or if you want to use 132 a filesystem based on FUSE, answer Y or M. 133 134config GENERIC_ACL 135 bool 136 select FS_POSIX_ACL 137 138if BLOCK 139menu "CD-ROM/DVD Filesystems" 140 141config ISO9660_FS 142 tristate "ISO 9660 CDROM file system support" 143 help 144 This is the standard file system used on CD-ROMs. It was previously 145 known as "High Sierra File System" and is called "hsfs" on other 146 Unix systems. The so-called Rock-Ridge extensions which allow for 147 long Unix filenames and symbolic links are also supported by this 148 driver. If you have a CD-ROM drive and want to do more with it than 149 just listen to audio CDs and watch its LEDs, say Y (and read 150 <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO, 151 available from <http://www.tldp.org/docs.html#howto>), thereby 152 enlarging your kernel by about 27 KB; otherwise say N. 153 154 To compile this file system support as a module, choose M here: the 155 module will be called isofs. 156 157config JOLIET 158 bool "Microsoft Joliet CDROM extensions" 159 depends on ISO9660_FS 160 select NLS 161 help 162 Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system 163 which allows for long filenames in unicode format (unicode is the 164 new 16 bit character code, successor to ASCII, which encodes the 165 characters of almost all languages of the world; see 166 <http://www.unicode.org/> for more information). Say Y here if you 167 want to be able to read Joliet CD-ROMs under Linux. 168 169config ZISOFS 170 bool "Transparent decompression extension" 171 depends on ISO9660_FS 172 select ZLIB_INFLATE 173 help 174 This is a Linux-specific extension to RockRidge which lets you store 175 data in compressed form on a CD-ROM and have it transparently 176 decompressed when the CD-ROM is accessed. See 177 <http://www.kernel.org/pub/linux/utils/fs/zisofs/> for the tools 178 necessary to create such a filesystem. Say Y here if you want to be 179 able to read such compressed CD-ROMs. 180 181config UDF_FS 182 tristate "UDF file system support" 183 select CRC_ITU_T 184 help 185 This is the new file system used on some CD-ROMs and DVDs. Say Y if 186 you intend to mount DVD discs or CDRW's written in packet mode, or 187 if written to by other UDF utilities, such as DirectCD. 188 Please read <file:Documentation/filesystems/udf.txt>. 189 190 To compile this file system support as a module, choose M here: the 191 module will be called udf. 192 193 If unsure, say N. 194 195config UDF_NLS 196 bool 197 default y 198 depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y) 199 200endmenu 201endif # BLOCK 202 203if BLOCK 204menu "DOS/FAT/NT Filesystems" 205 206config FAT_FS 207 tristate 208 select NLS 209 help 210 If you want to use one of the FAT-based file systems (the MS-DOS and 211 VFAT (Windows 95) file systems), then you must say Y or M here 212 to include FAT support. You will then be able to mount partitions or 213 diskettes with FAT-based file systems and transparently access the 214 files on them, i.e. MSDOS files will look and behave just like all 215 other Unix files. 216 217 This FAT support is not a file system in itself, it only provides 218 the foundation for the other file systems. You will have to say Y or 219 M to at least one of "MSDOS fs support" or "VFAT fs support" in 220 order to make use of it. 221 222 Another way to read and write MSDOS floppies and hard drive 223 partitions from within Linux (but not transparently) is with the 224 mtools ("man mtools") program suite. You don't need to say Y here in 225 order to do that. 226 227 If you need to move large files on floppies between a DOS and a 228 Linux box, say Y here, mount the floppy under Linux with an MSDOS 229 file system and use GNU tar's M option. GNU tar is a program 230 available for Unix and DOS ("man tar" or "info tar"). 231 232 The FAT support will enlarge your kernel by about 37 KB. If unsure, 233 say Y. 234 235 To compile this as a module, choose M here: the module will be called 236 fat. Note that if you compile the FAT support as a module, you 237 cannot compile any of the FAT-based file systems into the kernel 238 -- they will have to be modules as well. 239 240config MSDOS_FS 241 tristate "MSDOS fs support" 242 select FAT_FS 243 help 244 This allows you to mount MSDOS partitions of your hard drive (unless 245 they are compressed; to access compressed MSDOS partitions under 246 Linux, you can either use the DOS emulator DOSEMU, described in the 247 DOSEMU-HOWTO, available from 248 <http://www.tldp.org/docs.html#howto>, or try dmsdosfs in 249 <ftp://ibiblio.org/pub/Linux/system/filesystems/dosfs/>. If you 250 intend to use dosemu with a non-compressed MSDOS partition, say Y 251 here) and MSDOS floppies. This means that file access becomes 252 transparent, i.e. the MSDOS files look and behave just like all 253 other Unix files. 254 255 If you have Windows 95 or Windows NT installed on your MSDOS 256 partitions, you should use the VFAT file system (say Y to "VFAT fs 257 support" below), or you will not be able to see the long filenames 258 generated by Windows 95 / Windows NT. 259 260 This option will enlarge your kernel by about 7 KB. If unsure, 261 answer Y. This will only work if you said Y to "DOS FAT fs support" 262 as well. To compile this as a module, choose M here: the module will 263 be called msdos. 264 265config VFAT_FS 266 tristate "VFAT (Windows-95) fs support" 267 select FAT_FS 268 help 269 This option provides support for normal Windows file systems with 270 long filenames. That includes non-compressed FAT-based file systems 271 used by Windows 95, Windows 98, Windows NT 4.0, and the Unix 272 programs from the mtools package. 273 274 The VFAT support enlarges your kernel by about 10 KB and it only 275 works if you said Y to the "DOS FAT fs support" above. Please read 276 the file <file:Documentation/filesystems/vfat.txt> for details. If 277 unsure, say Y. 278 279 To compile this as a module, choose M here: the module will be called 280 vfat. 281 282config FAT_DEFAULT_CODEPAGE 283 int "Default codepage for FAT" 284 depends on MSDOS_FS || VFAT_FS 285 default 437 286 help 287 This option should be set to the codepage of your FAT filesystems. 288 It can be overridden with the "codepage" mount option. 289 See <file:Documentation/filesystems/vfat.txt> for more information. 290 291config FAT_DEFAULT_IOCHARSET 292 string "Default iocharset for FAT" 293 depends on VFAT_FS 294 default "iso8859-1" 295 help 296 Set this to the default input/output character set you'd 297 like FAT to use. It should probably match the character set 298 that most of your FAT filesystems use, and can be overridden 299 with the "iocharset" mount option for FAT filesystems. 300 Note that "utf8" is not recommended for FAT filesystems. 301 If unsure, you shouldn't set "utf8" here. 302 See <file:Documentation/filesystems/vfat.txt> for more information. 303 304config NTFS_FS 305 tristate "NTFS file system support" 306 select NLS 307 help 308 NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003. 309 310 Saying Y or M here enables read support. There is partial, but 311 safe, write support available. For write support you must also 312 say Y to "NTFS write support" below. 313 314 There are also a number of user-space tools available, called 315 ntfsprogs. These include ntfsundelete and ntfsresize, that work 316 without NTFS support enabled in the kernel. 317 318 This is a rewrite from scratch of Linux NTFS support and replaced 319 the old NTFS code starting with Linux 2.5.11. A backport to 320 the Linux 2.4 kernel series is separately available as a patch 321 from the project web site. 322 323 For more information see <file:Documentation/filesystems/ntfs.txt> 324 and <http://www.linux-ntfs.org/>. 325 326 To compile this file system support as a module, choose M here: the 327 module will be called ntfs. 328 329 If you are not using Windows NT, 2000, XP or 2003 in addition to 330 Linux on your computer it is safe to say N. 331 332config NTFS_DEBUG 333 bool "NTFS debugging support" 334 depends on NTFS_FS 335 help 336 If you are experiencing any problems with the NTFS file system, say 337 Y here. This will result in additional consistency checks to be 338 performed by the driver as well as additional debugging messages to 339 be written to the system log. Note that debugging messages are 340 disabled by default. To enable them, supply the option debug_msgs=1 341 at the kernel command line when booting the kernel or as an option 342 to insmod when loading the ntfs module. Once the driver is active, 343 you can enable debugging messages by doing (as root): 344 echo 1 > /proc/sys/fs/ntfs-debug 345 Replacing the "1" with "0" would disable debug messages. 346 347 If you leave debugging messages disabled, this results in little 348 overhead, but enabling debug messages results in very significant 349 slowdown of the system. 350 351 When reporting bugs, please try to have available a full dump of 352 debugging messages while the misbehaviour was occurring. 353 354config NTFS_RW 355 bool "NTFS write support" 356 depends on NTFS_FS 357 help 358 This enables the partial, but safe, write support in the NTFS driver. 359 360 The only supported operation is overwriting existing files, without 361 changing the file length. No file or directory creation, deletion or 362 renaming is possible. Note only non-resident files can be written to 363 so you may find that some very small files (<500 bytes or so) cannot 364 be written to. 365 366 While we cannot guarantee that it will not damage any data, we have 367 so far not received a single report where the driver would have 368 damaged someones data so we assume it is perfectly safe to use. 369 370 Note: While write support is safe in this version (a rewrite from 371 scratch of the NTFS support), it should be noted that the old NTFS 372 write support, included in Linux 2.5.10 and before (since 1997), 373 is not safe. 374 375 This is currently useful with TopologiLinux. TopologiLinux is run 376 on top of any DOS/Microsoft Windows system without partitioning your 377 hard disk. Unlike other Linux distributions TopologiLinux does not 378 need its own partition. For more information see 379 <http://topologi-linux.sourceforge.net/> 380 381 It is perfectly safe to say N here. 382 383endmenu 384endif # BLOCK 385 386menu "Pseudo filesystems" 387 388source "fs/proc/Kconfig" 389 390config SYSFS 391 bool "sysfs file system support" if EMBEDDED 392 default y 393 help 394 The sysfs filesystem is a virtual filesystem that the kernel uses to 395 export internal kernel objects, their attributes, and their 396 relationships to one another. 397 398 Users can use sysfs to ascertain useful information about the running 399 kernel, such as the devices the kernel has discovered on each bus and 400 which driver each is bound to. sysfs can also be used to tune devices 401 and other kernel subsystems. 402 403 Some system agents rely on the information in sysfs to operate. 404 /sbin/hotplug uses device and object attributes in sysfs to assist in 405 delegating policy decisions, like persistently naming devices. 406 407 sysfs is currently used by the block subsystem to mount the root 408 partition. If sysfs is disabled you must specify the boot device on 409 the kernel boot command line via its major and minor numbers. For 410 example, "root=03:01" for /dev/hda1. 411 412 Designers of embedded systems may wish to say N here to conserve space. 413 414config TMPFS 415 bool "Virtual memory file system support (former shm fs)" 416 help 417 Tmpfs is a file system which keeps all files in virtual memory. 418 419 Everything in tmpfs is temporary in the sense that no files will be 420 created on your hard drive. The files live in memory and swap 421 space. If you unmount a tmpfs instance, everything stored therein is 422 lost. 423 424 See <file:Documentation/filesystems/tmpfs.txt> for details. 425 426config TMPFS_POSIX_ACL 427 bool "Tmpfs POSIX Access Control Lists" 428 depends on TMPFS 429 select GENERIC_ACL 430 help 431 POSIX Access Control Lists (ACLs) support permissions for users and 432 groups beyond the owner/group/world scheme. 433 434 To learn more about Access Control Lists, visit the POSIX ACLs for 435 Linux website <http://acl.bestbits.at/>. 436 437 If you don't know what Access Control Lists are, say N. 438 439config HUGETLBFS 440 bool "HugeTLB file system support" 441 depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \ 442 (S390 && 64BIT) || BROKEN 443 help 444 hugetlbfs is a filesystem backing for HugeTLB pages, based on 445 ramfs. For architectures that support it, say Y here and read 446 <file:Documentation/vm/hugetlbpage.txt> for details. 447 448 If unsure, say N. 449 450config HUGETLB_PAGE 451 def_bool HUGETLBFS 452 453config CONFIGFS_FS 454 tristate "Userspace-driven configuration filesystem" 455 depends on SYSFS 456 help 457 configfs is a ram-based filesystem that provides the converse 458 of sysfs's functionality. Where sysfs is a filesystem-based 459 view of kernel objects, configfs is a filesystem-based manager 460 of kernel objects, or config_items. 461 462 Both sysfs and configfs can and should exist together on the 463 same system. One is not a replacement for the other. 464 465endmenu 466 467menuconfig MISC_FILESYSTEMS 468 bool "Miscellaneous filesystems" 469 default y 470 ---help--- 471 Say Y here to get to see options for various miscellaneous 472 filesystems, such as filesystems that came from other 473 operating systems. 474 475 This option alone does not add any kernel code. 476 477 If you say N, all options in this submenu will be skipped and 478 disabled; if unsure, say Y here. 479 480if MISC_FILESYSTEMS 481 482config ADFS_FS 483 tristate "ADFS file system support (EXPERIMENTAL)" 484 depends on BLOCK && EXPERIMENTAL 485 help 486 The Acorn Disc Filing System is the standard file system of the 487 RiscOS operating system which runs on Acorn's ARM-based Risc PC 488 systems and the Acorn Archimedes range of machines. If you say Y 489 here, Linux will be able to read from ADFS partitions on hard drives 490 and from ADFS-formatted floppy discs. If you also want to be able to 491 write to those devices, say Y to "ADFS write support" below. 492 493 The ADFS partition should be the first partition (i.e., 494 /dev/[hs]d?1) on each of your drives. Please read the file 495 <file:Documentation/filesystems/adfs.txt> for further details. 496 497 To compile this code as a module, choose M here: the module will be 498 called adfs. 499 500 If unsure, say N. 501 502config ADFS_FS_RW 503 bool "ADFS write support (DANGEROUS)" 504 depends on ADFS_FS 505 help 506 If you say Y here, you will be able to write to ADFS partitions on 507 hard drives and ADFS-formatted floppy disks. This is experimental 508 codes, so if you're unsure, say N. 509 510config AFFS_FS 511 tristate "Amiga FFS file system support (EXPERIMENTAL)" 512 depends on BLOCK && EXPERIMENTAL 513 help 514 The Fast File System (FFS) is the common file system used on hard 515 disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Say Y 516 if you want to be able to read and write files from and to an Amiga 517 FFS partition on your hard drive. Amiga floppies however cannot be 518 read with this driver due to an incompatibility of the floppy 519 controller used in an Amiga and the standard floppy controller in 520 PCs and workstations. Read <file:Documentation/filesystems/affs.txt> 521 and <file:fs/affs/Changes>. 522 523 With this driver you can also mount disk files used by Bernd 524 Schmidt's Un*X Amiga Emulator 525 (<http://www.freiburg.linux.de/~uae/>). 526 If you want to do this, you will also need to say Y or M to "Loop 527 device support", above. 528 529 To compile this file system support as a module, choose M here: the 530 module will be called affs. If unsure, say N. 531 532config ECRYPT_FS 533 tristate "eCrypt filesystem layer support (EXPERIMENTAL)" 534 depends on EXPERIMENTAL && KEYS && CRYPTO && NET 535 help 536 Encrypted filesystem that operates on the VFS layer. See 537 <file:Documentation/filesystems/ecryptfs.txt> to learn more about 538 eCryptfs. Userspace components are required and can be 539 obtained from <http://ecryptfs.sf.net>. 540 541 To compile this file system support as a module, choose M here: the 542 module will be called ecryptfs. 543 544config HFS_FS 545 tristate "Apple Macintosh file system support (EXPERIMENTAL)" 546 depends on BLOCK && EXPERIMENTAL 547 select NLS 548 help 549 If you say Y here, you will be able to mount Macintosh-formatted 550 floppy disks and hard drive partitions with full read-write access. 551 Please read <file:Documentation/filesystems/hfs.txt> to learn about 552 the available mount options. 553 554 To compile this file system support as a module, choose M here: the 555 module will be called hfs. 556 557config HFSPLUS_FS 558 tristate "Apple Extended HFS file system support" 559 depends on BLOCK 560 select NLS 561 select NLS_UTF8 562 help 563 If you say Y here, you will be able to mount extended format 564 Macintosh-formatted hard drive partitions with full read-write access. 565 566 This file system is often called HFS+ and was introduced with 567 MacOS 8. It includes all Mac specific filesystem data such as 568 data forks and creator codes, but it also has several UNIX 569 style features such as file ownership and permissions. 570 571config BEFS_FS 572 tristate "BeOS file system (BeFS) support (read only) (EXPERIMENTAL)" 573 depends on BLOCK && EXPERIMENTAL 574 select NLS 575 help 576 The BeOS File System (BeFS) is the native file system of Be, Inc's 577 BeOS. Notable features include support for arbitrary attributes 578 on files and directories, and database-like indices on selected 579 attributes. (Also note that this driver doesn't make those features 580 available at this time). It is a 64 bit filesystem, so it supports 581 extremely large volumes and files. 582 583 If you use this filesystem, you should also say Y to at least one 584 of the NLS (native language support) options below. 585 586 If you don't know what this is about, say N. 587 588 To compile this as a module, choose M here: the module will be 589 called befs. 590 591config BEFS_DEBUG 592 bool "Debug BeFS" 593 depends on BEFS_FS 594 help 595 If you say Y here, you can use the 'debug' mount option to enable 596 debugging output from the driver. 597 598config BFS_FS 599 tristate "BFS file system support (EXPERIMENTAL)" 600 depends on BLOCK && EXPERIMENTAL 601 help 602 Boot File System (BFS) is a file system used under SCO UnixWare to 603 allow the bootloader access to the kernel image and other important 604 files during the boot process. It is usually mounted under /stand 605 and corresponds to the slice marked as "STAND" in the UnixWare 606 partition. You should say Y if you want to read or write the files 607 on your /stand slice from within Linux. You then also need to say Y 608 to "UnixWare slices support", below. More information about the BFS 609 file system is contained in the file 610 <file:Documentation/filesystems/bfs.txt>. 611 612 If you don't know what this is about, say N. 613 614 To compile this as a module, choose M here: the module will be called 615 bfs. Note that the file system of your root partition (the one 616 containing the directory /) cannot be compiled as a module. 617 618 619 620config EFS_FS 621 tristate "EFS file system support (read only) (EXPERIMENTAL)" 622 depends on BLOCK && EXPERIMENTAL 623 help 624 EFS is an older file system used for non-ISO9660 CD-ROMs and hard 625 disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer 626 uses the XFS file system for hard disk partitions however). 627 628 This implementation only offers read-only access. If you don't know 629 what all this is about, it's safe to say N. For more information 630 about EFS see its home page at <http://aeschi.ch.eu.org/efs/>. 631 632 To compile the EFS file system support as a module, choose M here: the 633 module will be called efs. 634 635source "fs/jffs2/Kconfig" 636# UBIFS File system configuration 637source "fs/ubifs/Kconfig" 638 639config CRAMFS 640 tristate "Compressed ROM file system support (cramfs)" 641 depends on BLOCK 642 select ZLIB_INFLATE 643 help 644 Saying Y here includes support for CramFs (Compressed ROM File 645 System). CramFs is designed to be a simple, small, and compressed 646 file system for ROM based embedded systems. CramFs is read-only, 647 limited to 256MB file systems (with 16MB files), and doesn't support 648 16/32 bits uid/gid, hard links and timestamps. 649 650 See <file:Documentation/filesystems/cramfs.txt> and 651 <file:fs/cramfs/README> for further information. 652 653 To compile this as a module, choose M here: the module will be called 654 cramfs. Note that the root file system (the one containing the 655 directory /) cannot be compiled as a module. 656 657 If unsure, say N. 658 659config SQUASHFS 660 tristate "SquashFS 4.0 - Squashed file system support" 661 depends on BLOCK 662 select ZLIB_INFLATE 663 help 664 Saying Y here includes support for SquashFS 4.0 (a Compressed 665 Read-Only File System). Squashfs is a highly compressed read-only 666 filesystem for Linux. It uses zlib compression to compress both 667 files, inodes and directories. Inodes in the system are very small 668 and all blocks are packed to minimise data overhead. Block sizes 669 greater than 4K are supported up to a maximum of 1 Mbytes (default 670 block size 128K). SquashFS 4.0 supports 64 bit filesystems and files 671 (larger than 4GB), full uid/gid information, hard links and 672 timestamps. 673 674 Squashfs is intended for general read-only filesystem use, for 675 archival use (i.e. in cases where a .tar.gz file may be used), and in 676 embedded systems where low overhead is needed. Further information 677 and tools are available from http://squashfs.sourceforge.net. 678 679 If you want to compile this as a module ( = code which can be 680 inserted in and removed from the running kernel whenever you want), 681 say M here and read <file:Documentation/modules.txt>. The module 682 will be called squashfs. Note that the root file system (the one 683 containing the directory /) cannot be compiled as a module. 684 685 If unsure, say N. 686 687config SQUASHFS_EMBEDDED 688 689 bool "Additional option for memory-constrained systems" 690 depends on SQUASHFS 691 default n 692 help 693 Saying Y here allows you to specify cache size. 694 695 If unsure, say N. 696 697config SQUASHFS_FRAGMENT_CACHE_SIZE 698 int "Number of fragments cached" if SQUASHFS_EMBEDDED 699 depends on SQUASHFS 700 default "3" 701 help 702 By default SquashFS caches the last 3 fragments read from 703 the filesystem. Increasing this amount may mean SquashFS 704 has to re-read fragments less often from disk, at the expense 705 of extra system memory. Decreasing this amount will mean 706 SquashFS uses less memory at the expense of extra reads from disk. 707 708 Note there must be at least one cached fragment. Anything 709 much more than three will probably not make much difference. 710 711config VXFS_FS 712 tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" 713 depends on BLOCK 714 help 715 FreeVxFS is a file system driver that support the VERITAS VxFS(TM) 716 file system format. VERITAS VxFS(TM) is the standard file system 717 of SCO UnixWare (and possibly others) and optionally available 718 for Sunsoft Solaris, HP-UX and many other operating systems. 719 Currently only readonly access is supported. 720 721 NOTE: the file system type as used by mount(1), mount(2) and 722 fstab(5) is 'vxfs' as it describes the file system format, not 723 the actual driver. 724 725 To compile this as a module, choose M here: the module will be 726 called freevxfs. If unsure, say N. 727 728config MINIX_FS 729 tristate "Minix file system support" 730 depends on BLOCK 731 help 732 Minix is a simple operating system used in many classes about OS's. 733 The minix file system (method to organize files on a hard disk 734 partition or a floppy disk) was the original file system for Linux, 735 but has been superseded by the second extended file system ext2fs. 736 You don't want to use the minix file system on your hard disk 737 because of certain built-in restrictions, but it is sometimes found 738 on older Linux floppy disks. This option will enlarge your kernel 739 by about 28 KB. If unsure, say N. 740 741 To compile this file system support as a module, choose M here: the 742 module will be called minix. Note that the file system of your root 743 partition (the one containing the directory /) cannot be compiled as 744 a module. 745 746config OMFS_FS 747 tristate "SonicBlue Optimized MPEG File System support" 748 depends on BLOCK 749 select CRC_ITU_T 750 help 751 This is the proprietary file system used by the Rio Karma music 752 player and ReplayTV DVR. Despite the name, this filesystem is not 753 more efficient than a standard FS for MPEG files, in fact likely 754 the opposite is true. Say Y if you have either of these devices 755 and wish to mount its disk. 756 757 To compile this file system support as a module, choose M here: the 758 module will be called omfs. If unsure, say N. 759 760config HPFS_FS 761 tristate "OS/2 HPFS file system support" 762 depends on BLOCK 763 help 764 OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS 765 is the file system used for organizing files on OS/2 hard disk 766 partitions. Say Y if you want to be able to read files from and 767 write files to an OS/2 HPFS partition on your hard drive. OS/2 768 floppies however are in regular MSDOS format, so you don't need this 769 option in order to be able to read them. Read 770 <file:Documentation/filesystems/hpfs.txt>. 771 772 To compile this file system support as a module, choose M here: the 773 module will be called hpfs. If unsure, say N. 774 775 776config QNX4FS_FS 777 tristate "QNX4 file system support (read only)" 778 depends on BLOCK 779 help 780 This is the file system used by the real-time operating systems 781 QNX 4 and QNX 6 (the latter is also called QNX RTP). 782 Further information is available at <http://www.qnx.com/>. 783 Say Y if you intend to mount QNX hard disks or floppies. 784 Unless you say Y to "QNX4FS read-write support" below, you will 785 only be able to read these file systems. 786 787 To compile this file system support as a module, choose M here: the 788 module will be called qnx4. 789 790 If you don't know whether you need it, then you don't need it: 791 answer N. 792 793config QNX4FS_RW 794 bool "QNX4FS write support (DANGEROUS)" 795 depends on QNX4FS_FS && EXPERIMENTAL && BROKEN 796 help 797 Say Y if you want to test write support for QNX4 file systems. 798 799 It's currently broken, so for now: 800 answer N. 801 802config ROMFS_FS 803 tristate "ROM file system support" 804 depends on BLOCK 805 ---help--- 806 This is a very small read-only file system mainly intended for 807 initial ram disks of installation disks, but it could be used for 808 other read-only media as well. Read 809 <file:Documentation/filesystems/romfs.txt> for details. 810 811 To compile this file system support as a module, choose M here: the 812 module will be called romfs. Note that the file system of your 813 root partition (the one containing the directory /) cannot be a 814 module. 815 816 If you don't know whether you need it, then you don't need it: 817 answer N. 818 819 820config SYSV_FS 821 tristate "System V/Xenix/V7/Coherent file system support" 822 depends on BLOCK 823 help 824 SCO, Xenix and Coherent are commercial Unix systems for Intel 825 machines, and Version 7 was used on the DEC PDP-11. Saying Y 826 here would allow you to read from their floppies and hard disk 827 partitions. 828 829 If you have floppies or hard disk partitions like that, it is likely 830 that they contain binaries from those other Unix systems; in order 831 to run these binaries, you will want to install linux-abi which is 832 a set of kernel modules that lets you run SCO, Xenix, Wyse, 833 UnixWare, Dell Unix and System V programs under Linux. It is 834 available via FTP (user: ftp) from 835 <ftp://ftp.openlinux.org/pub/people/hch/linux-abi/>). 836 NOTE: that will work only for binaries from Intel-based systems; 837 PDP ones will have to wait until somebody ports Linux to -11 ;-) 838 839 If you only intend to mount files from some other Unix over the 840 network using NFS, you don't need the System V file system support 841 (but you need NFS file system support obviously). 842 843 Note that this option is generally not needed for floppies, since a 844 good portable way to transport files and directories between unixes 845 (and even other operating systems) is given by the tar program ("man 846 tar" or preferably "info tar"). Note also that this option has 847 nothing whatsoever to do with the option "System V IPC". Read about 848 the System V file system in 849 <file:Documentation/filesystems/sysv-fs.txt>. 850 Saying Y here will enlarge your kernel by about 27 KB. 851 852 To compile this as a module, choose M here: the module will be called 853 sysv. 854 855 If you haven't heard about all of this before, it's safe to say N. 856 857 858config UFS_FS 859 tristate "UFS file system support (read only)" 860 depends on BLOCK 861 help 862 BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD, 863 OpenBSD and NeXTstep) use a file system called UFS. Some System V 864 Unixes can create and mount hard disk partitions and diskettes using 865 this file system as well. Saying Y here will allow you to read from 866 these partitions; if you also want to write to them, say Y to the 867 experimental "UFS file system write support", below. Please read the 868 file <file:Documentation/filesystems/ufs.txt> for more information. 869 870 The recently released UFS2 variant (used in FreeBSD 5.x) is 871 READ-ONLY supported. 872 873 Note that this option is generally not needed for floppies, since a 874 good portable way to transport files and directories between unixes 875 (and even other operating systems) is given by the tar program ("man 876 tar" or preferably "info tar"). 877 878 When accessing NeXTstep files, you may need to convert them from the 879 NeXT character set to the Latin1 character set; use the program 880 recode ("info recode") for this purpose. 881 882 To compile the UFS file system support as a module, choose M here: the 883 module will be called ufs. 884 885 If you haven't heard about all of this before, it's safe to say N. 886 887config UFS_FS_WRITE 888 bool "UFS file system write support (DANGEROUS)" 889 depends on UFS_FS && EXPERIMENTAL 890 help 891 Say Y here if you want to try writing to UFS partitions. This is 892 experimental, so you should back up your UFS partitions beforehand. 893 894config UFS_DEBUG 895 bool "UFS debugging" 896 depends on UFS_FS 897 help 898 If you are experiencing any problems with the UFS filesystem, say 899 Y here. This will result in _many_ additional debugging messages to be 900 written to the system log. 901 902endif # MISC_FILESYSTEMS 903 904menuconfig NETWORK_FILESYSTEMS 905 bool "Network File Systems" 906 default y 907 depends on NET 908 ---help--- 909 Say Y here to get to see options for network filesystems and 910 filesystem-related networking code, such as NFS daemon and 911 RPCSEC security modules. 912 913 This option alone does not add any kernel code. 914 915 If you say N, all options in this submenu will be skipped and 916 disabled; if unsure, say Y here. 917 918if NETWORK_FILESYSTEMS 919 920config NFS_FS 921 tristate "NFS client support" 922 depends on INET 923 select LOCKD 924 select SUNRPC 925 select NFS_ACL_SUPPORT if NFS_V3_ACL 926 help 927 Choose Y here if you want to access files residing on other 928 computers using Sun's Network File System protocol. To compile 929 this file system support as a module, choose M here: the module 930 will be called nfs. 931 932 To mount file systems exported by NFS servers, you also need to 933 install the user space mount.nfs command which can be found in 934 the Linux nfs-utils package, available from http://linux-nfs.org/. 935 Information about using the mount command is available in the 936 mount(8) man page. More detail about the Linux NFS client 937 implementation is available via the nfs(5) man page. 938 939 Below you can choose which versions of the NFS protocol are 940 available in the kernel to mount NFS servers. Support for NFS 941 version 2 (RFC 1094) is always available when NFS_FS is selected. 942 943 To configure a system which mounts its root file system via NFS 944 at boot time, say Y here, select "Kernel level IP 945 autoconfiguration" in the NETWORK menu, and select "Root file 946 system on NFS" below. You cannot compile this file system as a 947 module in this case. 948 949 If unsure, say N. 950 951config NFS_V3 952 bool "NFS client support for NFS version 3" 953 depends on NFS_FS 954 help 955 This option enables support for version 3 of the NFS protocol 956 (RFC 1813) in the kernel's NFS client. 957 958 If unsure, say Y. 959 960config NFS_V3_ACL 961 bool "NFS client support for the NFSv3 ACL protocol extension" 962 depends on NFS_V3 963 help 964 Some NFS servers support an auxiliary NFSv3 ACL protocol that 965 Sun added to Solaris but never became an official part of the 966 NFS version 3 protocol. This protocol extension allows 967 applications on NFS clients to manipulate POSIX Access Control 968 Lists on files residing on NFS servers. NFS servers enforce 969 ACLs on local files whether this protocol is available or not. 970 971 Choose Y here if your NFS server supports the Solaris NFSv3 ACL 972 protocol extension and you want your NFS client to allow 973 applications to access and modify ACLs on files on the server. 974 975 Most NFS servers don't support the Solaris NFSv3 ACL protocol 976 extension. You can choose N here or specify the "noacl" mount 977 option to prevent your NFS client from trying to use the NFSv3 978 ACL protocol. 979 980 If unsure, say N. 981 982config NFS_V4 983 bool "NFS client support for NFS version 4 (EXPERIMENTAL)" 984 depends on NFS_FS && EXPERIMENTAL 985 select RPCSEC_GSS_KRB5 986 help 987 This option enables support for version 4 of the NFS protocol 988 (RFC 3530) in the kernel's NFS client. 989 990 To mount NFS servers using NFSv4, you also need to install user 991 space programs which can be found in the Linux nfs-utils package, 992 available from http://linux-nfs.org/. 993 994 If unsure, say N. 995 996config ROOT_NFS 997 bool "Root file system on NFS" 998 depends on NFS_FS=y && IP_PNP 999 help 1000 If you want your system to mount its root file system via NFS, 1001 choose Y here. This is common practice for managing systems 1002 without local permanent storage. For details, read 1003 <file:Documentation/filesystems/nfsroot.txt>. 1004 1005 Most people say N here. 1006 1007config NFSD 1008 tristate "NFS server support" 1009 depends on INET 1010 select LOCKD 1011 select SUNRPC 1012 select EXPORTFS 1013 select NFS_ACL_SUPPORT if NFSD_V2_ACL 1014 help 1015 Choose Y here if you want to allow other computers to access 1016 files residing on this system using Sun's Network File System 1017 protocol. To compile the NFS server support as a module, 1018 choose M here: the module will be called nfsd. 1019 1020 You may choose to use a user-space NFS server instead, in which 1021 case you can choose N here. 1022 1023 To export local file systems using NFS, you also need to install 1024 user space programs which can be found in the Linux nfs-utils 1025 package, available from http://linux-nfs.org/. More detail about 1026 the Linux NFS server implementation is available via the 1027 exports(5) man page. 1028 1029 Below you can choose which versions of the NFS protocol are 1030 available to clients mounting the NFS server on this system. 1031 Support for NFS version 2 (RFC 1094) is always available when 1032 CONFIG_NFSD is selected. 1033 1034 If unsure, say N. 1035 1036config NFSD_V2_ACL 1037 bool 1038 depends on NFSD 1039 1040config NFSD_V3 1041 bool "NFS server support for NFS version 3" 1042 depends on NFSD 1043 help 1044 This option enables support in your system's NFS server for 1045 version 3 of the NFS protocol (RFC 1813). 1046 1047 If unsure, say Y. 1048 1049config NFSD_V3_ACL 1050 bool "NFS server support for the NFSv3 ACL protocol extension" 1051 depends on NFSD_V3 1052 select NFSD_V2_ACL 1053 help 1054 Solaris NFS servers support an auxiliary NFSv3 ACL protocol that 1055 never became an official part of the NFS version 3 protocol. 1056 This protocol extension allows applications on NFS clients to 1057 manipulate POSIX Access Control Lists on files residing on NFS 1058 servers. NFS servers enforce POSIX ACLs on local files whether 1059 this protocol is available or not. 1060 1061 This option enables support in your system's NFS server for the 1062 NFSv3 ACL protocol extension allowing NFS clients to manipulate 1063 POSIX ACLs on files exported by your system's NFS server. NFS 1064 clients which support the Solaris NFSv3 ACL protocol can then 1065 access and modify ACLs on your NFS server. 1066 1067 To store ACLs on your NFS server, you also need to enable ACL- 1068 related CONFIG options for your local file systems of choice. 1069 1070 If unsure, say N. 1071 1072config NFSD_V4 1073 bool "NFS server support for NFS version 4 (EXPERIMENTAL)" 1074 depends on NFSD && PROC_FS && EXPERIMENTAL 1075 select NFSD_V3 1076 select FS_POSIX_ACL 1077 select RPCSEC_GSS_KRB5 1078 help 1079 This option enables support in your system's NFS server for 1080 version 4 of the NFS protocol (RFC 3530). 1081 1082 To export files using NFSv4, you need to install additional user 1083 space programs which can be found in the Linux nfs-utils package, 1084 available from http://linux-nfs.org/. 1085 1086 If unsure, say N. 1087 1088config LOCKD 1089 tristate 1090 1091config LOCKD_V4 1092 bool 1093 depends on NFSD_V3 || NFS_V3 1094 default y 1095 1096config EXPORTFS 1097 tristate 1098 1099config NFS_ACL_SUPPORT 1100 tristate 1101 select FS_POSIX_ACL 1102 1103config NFS_COMMON 1104 bool 1105 depends on NFSD || NFS_FS 1106 default y 1107 1108config SUNRPC 1109 tristate 1110 1111config SUNRPC_GSS 1112 tristate 1113 1114config SUNRPC_XPRT_RDMA 1115 tristate 1116 depends on SUNRPC && INFINIBAND && EXPERIMENTAL 1117 default SUNRPC && INFINIBAND 1118 help 1119 This option enables an RPC client transport capability that 1120 allows the NFS client to mount servers via an RDMA-enabled 1121 transport. 1122 1123 To compile RPC client RDMA transport support as a module, 1124 choose M here: the module will be called xprtrdma. 1125 1126 If unsure, say N. 1127 1128config SUNRPC_REGISTER_V4 1129 bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)" 1130 depends on SUNRPC && EXPERIMENTAL 1131 default n 1132 help 1133 Sun added support for registering RPC services at an IPv6 1134 address by creating two new versions of the rpcbind protocol 1135 (RFC 1833). 1136 1137 This option enables support in the kernel RPC server for 1138 registering kernel RPC services via version 4 of the rpcbind 1139 protocol. If you enable this option, you must run a portmapper 1140 daemon that supports rpcbind protocol version 4. 1141 1142 Serving NFS over IPv6 from knfsd (the kernel's NFS server) 1143 requires that you enable this option and use a portmapper that 1144 supports rpcbind version 4. 1145 1146 If unsure, say N to get traditional behavior (register kernel 1147 RPC services using only rpcbind version 2). Distributions 1148 using the legacy Linux portmapper daemon must say N here. 1149 1150config RPCSEC_GSS_KRB5 1151 tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" 1152 depends on SUNRPC && EXPERIMENTAL 1153 select SUNRPC_GSS 1154 select CRYPTO 1155 select CRYPTO_MD5 1156 select CRYPTO_DES 1157 select CRYPTO_CBC 1158 help 1159 Choose Y here to enable Secure RPC using the Kerberos version 5 1160 GSS-API mechanism (RFC 1964). 1161 1162 Secure RPC calls with Kerberos require an auxiliary user-space 1163 daemon which may be found in the Linux nfs-utils package 1164 available from http://linux-nfs.org/. In addition, user-space 1165 Kerberos support should be installed. 1166 1167 If unsure, say N. 1168 1169config RPCSEC_GSS_SPKM3 1170 tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)" 1171 depends on SUNRPC && EXPERIMENTAL 1172 select SUNRPC_GSS 1173 select CRYPTO 1174 select CRYPTO_MD5 1175 select CRYPTO_DES 1176 select CRYPTO_CAST5 1177 select CRYPTO_CBC 1178 help 1179 Choose Y here to enable Secure RPC using the SPKM3 public key 1180 GSS-API mechansim (RFC 2025). 1181 1182 Secure RPC calls with SPKM3 require an auxiliary userspace 1183 daemon which may be found in the Linux nfs-utils package 1184 available from http://linux-nfs.org/. 1185 1186 If unsure, say N. 1187 1188config SMB_FS 1189 tristate "SMB file system support (OBSOLETE, please use CIFS)" 1190 depends on INET 1191 select NLS 1192 help 1193 SMB (Server Message Block) is the protocol Windows for Workgroups 1194 (WfW), Windows 95/98, Windows NT and OS/2 Lan Manager use to share 1195 files and printers over local networks. Saying Y here allows you to 1196 mount their file systems (often called "shares" in this context) and 1197 access them just like any other Unix directory. Currently, this 1198 works only if the Windows machines use TCP/IP as the underlying 1199 transport protocol, and not NetBEUI. For details, read 1200 <file:Documentation/filesystems/smbfs.txt> and the SMB-HOWTO, 1201 available from <http://www.tldp.org/docs.html#howto>. 1202 1203 Note: if you just want your box to act as an SMB *server* and make 1204 files and printing services available to Windows clients (which need 1205 to have a TCP/IP stack), you don't need to say Y here; you can use 1206 the program SAMBA (available from <ftp://ftp.samba.org/pub/samba/>) 1207 for that. 1208 1209 General information about how to connect Linux, Windows machines and 1210 Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. 1211 1212 To compile the SMB support as a module, choose M here: 1213 the module will be called smbfs. Most people say N, however. 1214 1215config SMB_NLS_DEFAULT 1216 bool "Use a default NLS" 1217 depends on SMB_FS 1218 help 1219 Enabling this will make smbfs use nls translations by default. You 1220 need to specify the local charset (CONFIG_NLS_DEFAULT) in the nls 1221 settings and you need to give the default nls for the SMB server as 1222 CONFIG_SMB_NLS_REMOTE. 1223 1224 The nls settings can be changed at mount time, if your smbmount 1225 supports that, using the codepage and iocharset parameters. 1226 1227 smbmount from samba 2.2.0 or later supports this. 1228 1229config SMB_NLS_REMOTE 1230 string "Default Remote NLS Option" 1231 depends on SMB_NLS_DEFAULT 1232 default "cp437" 1233 help 1234 This setting allows you to specify a default value for which 1235 codepage the server uses. If this field is left blank no 1236 translations will be done by default. The local codepage/charset 1237 default to CONFIG_NLS_DEFAULT. 1238 1239 The nls settings can be changed at mount time, if your smbmount 1240 supports that, using the codepage and iocharset parameters. 1241 1242 smbmount from samba 2.2.0 or later supports this. 1243 1244source "fs/cifs/Kconfig" 1245 1246config NCP_FS 1247 tristate "NCP file system support (to mount NetWare volumes)" 1248 depends on IPX!=n || INET 1249 help 1250 NCP (NetWare Core Protocol) is a protocol that runs over IPX and is 1251 used by Novell NetWare clients to talk to file servers. It is to 1252 IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you 1253 to mount NetWare file server volumes and to access them just like 1254 any other Unix directory. For details, please read the file 1255 <file:Documentation/filesystems/ncpfs.txt> in the kernel source and 1256 the IPX-HOWTO from <http://www.tldp.org/docs.html#howto>. 1257 1258 You do not have to say Y here if you want your Linux box to act as a 1259 file *server* for Novell NetWare clients. 1260 1261 General information about how to connect Linux, Windows machines and 1262 Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. 1263 1264 To compile this as a module, choose M here: the module will be called 1265 ncpfs. Say N unless you are connected to a Novell network. 1266 1267source "fs/ncpfs/Kconfig" 1268 1269config CODA_FS 1270 tristate "Coda file system support (advanced network fs)" 1271 depends on INET 1272 help 1273 Coda is an advanced network file system, similar to NFS in that it 1274 enables you to mount file systems of a remote server and access them 1275 with regular Unix commands as if they were sitting on your hard 1276 disk. Coda has several advantages over NFS: support for 1277 disconnected operation (e.g. for laptops), read/write server 1278 replication, security model for authentication and encryption, 1279 persistent client caches and write back caching. 1280 1281 If you say Y here, your Linux box will be able to act as a Coda 1282 *client*. You will need user level code as well, both for the 1283 client and server. Servers are currently user level, i.e. they need 1284 no kernel support. Please read 1285 <file:Documentation/filesystems/coda.txt> and check out the Coda 1286 home page <http://www.coda.cs.cmu.edu/>. 1287 1288 To compile the coda client support as a module, choose M here: the 1289 module will be called coda. 1290 1291config AFS_FS 1292 tristate "Andrew File System support (AFS) (EXPERIMENTAL)" 1293 depends on INET && EXPERIMENTAL 1294 select AF_RXRPC 1295 help 1296 If you say Y here, you will get an experimental Andrew File System 1297 driver. It currently only supports unsecured read-only AFS access. 1298 1299 See <file:Documentation/filesystems/afs.txt> for more information. 1300 1301 If unsure, say N. 1302 1303config AFS_DEBUG 1304 bool "AFS dynamic debugging" 1305 depends on AFS_FS 1306 help 1307 Say Y here to make runtime controllable debugging messages appear. 1308 1309 See <file:Documentation/filesystems/afs.txt> for more information. 1310 1311 If unsure, say N. 1312 1313config 9P_FS 1314 tristate "Plan 9 Resource Sharing Support (9P2000) (Experimental)" 1315 depends on INET && NET_9P && EXPERIMENTAL 1316 help 1317 If you say Y here, you will get experimental support for 1318 Plan 9 resource sharing via the 9P2000 protocol. 1319 1320 See <http://v9fs.sf.net> for more information. 1321 1322 If unsure, say N. 1323 1324endif # NETWORK_FILESYSTEMS 1325 1326if BLOCK 1327menu "Partition Types" 1328 1329source "fs/partitions/Kconfig" 1330 1331endmenu 1332endif 1333 1334source "fs/nls/Kconfig" 1335source "fs/dlm/Kconfig" 1336 1337endmenu 1338