11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Block device driver configuration
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5fd11d171e51a5b81c176d856d5df5612117e1a45Jan Engelhardtmenuconfig BLK_DEV
6fd11d171e51a5b81c176d856d5df5612117e1a45Jan Engelhardt	bool "Block devices"
7fd11d171e51a5b81c176d856d5df5612117e1a45Jan Engelhardt	depends on BLOCK
8fd11d171e51a5b81c176d856d5df5612117e1a45Jan Engelhardt	default y
906bfb7eb1535822a3338ffea9918e22215abed90Jan Engelhardt	---help---
1006bfb7eb1535822a3338ffea9918e22215abed90Jan Engelhardt	  Say Y here to get to see options for various different block device
1106bfb7eb1535822a3338ffea9918e22215abed90Jan Engelhardt	  drivers. This option alone does not add any kernel code.
1206bfb7eb1535822a3338ffea9918e22215abed90Jan Engelhardt
1306bfb7eb1535822a3338ffea9918e22215abed90Jan Engelhardt	  If you say N, all options in this submenu will be skipped and disabled;
1406bfb7eb1535822a3338ffea9918e22215abed90Jan Engelhardt	  only do this if you know what you are doing.
159361401eb7619c033e2394e4f9f6d410d6719ac7David Howells
16fd11d171e51a5b81c176d856d5df5612117e1a45Jan Engelhardtif BLK_DEV
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_FD
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Normal floppy disk support"
20a08b6b7968e7a6afc75e365ac31830867275abdcAl Viro	depends on ARCH_MAY_HAVE_PC_FDC
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If you want to use the floppy disk drive(s) of your PC under Linux,
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  say Y. Information about this driver, especially important for IBM
2431c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  Thinkpad users, is contained in
2531c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  <file:Documentation/blockdev/floppy.txt>.
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  That file also contains the location of the Floppy driver FAQ as
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  well as location of the fdutils package used to configure additional
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  parameters of the driver at run time.
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called floppy.
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig AMIGA_FLOPPY
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Amiga floppy support"
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on AMIGA
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig ATARI_FLOPPY
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Atari floppy support"
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on ATARI
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig MAC_FLOPPY
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Support for PowerMac floppy"
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on PPC_PMAC && !PPC_PMAC64
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple)
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  floppy controller, say Y here. Most commonly found in PowerMacs.
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
488852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivierconfig BLK_DEV_SWIM
498852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivier	tristate "Support for SWIM Macintosh floppy"
508852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivier	depends on M68K && MAC
518852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivier	help
528852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivier	  You should select this option if you want floppy support
538852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivier	  and you don't have a II, IIfx, Q900, Q950 or AV series.
548852ecd97488249ca7fe2c0d3eb44cae95886881Laurent Vivier
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig AMIGA_Z2RAM
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Amiga Zorro II ramdisk support"
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on ZORRO
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This enables support for using Chip RAM and Zorro II RAM as a
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  ramdisk or as a swap partition. Say Y if you want to include this
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  driver in the kernel.
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called z2ram.
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_XD
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "XT hard disk support"
68a553260618d88c4790daec7975c88f3db1080b5bAl Viro	depends on ISA && ISA_DMA_API
69928923c76b393e38e5ba1d47e843e208ceef6cf9Geert Uytterhoeven	select CHECK_SIGNATURE
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Very old 8 bit hard disk controllers used in the IBM XT computer
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  will be supported if you say Y here.
731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called xd.
761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  It's pretty unlikely that you have one of these: say N.
781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
792395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlapconfig GDROM
802395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	tristate "SEGA Dreamcast GD-ROM drive"
812395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	depends on SH_DREAMCAST
822395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	help
832395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	  A standard SEGA Dreamcast comes with a modified CD ROM drive called a
842395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	  "GD-ROM" by SEGA to signify it is capable of reading special disks
852395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	  with up to 1 GB of data. This drive will also read standard CD ROM
862395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	  disks. Select this option to access any disks in your GD ROM drive.
872395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	  Most users will want to say "Y" here.
882395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap	  You can also build this as a module which will be called gdrom.
892395e463fefd4aa8b784787e926e9b84e216d14fRandy Dunlap
901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig PARIDE
911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Parallel port IDE device support"
926a19b41b35bf45fc27a46dccf26005b3f44c1aa1Marko Kohtala	depends on PARPORT_PC
931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  There are many external CD-ROM and disk devices that connect through
951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  your computer's parallel port. Most of them are actually IDE devices
961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  using a parallel port IDE adapter. This option enables the PARIDE
971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  subsystem which contains drivers for many of these external drives.
9831c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  Read <file:Documentation/blockdev/paride.txt> for more information.
991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If you have said Y to the "Parallel-port support" configuration
1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  option, you may share a single port between your printer and other
1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  parallel port devices. Answer Y to build PARIDE support into your
1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  kernel, or M if you would like to build it as a loadable module. If
1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  your parallel port support is in a loadable module, you must build
1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  PARIDE as a module. If you built PARIDE support into your kernel,
1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  you may still build the individual protocol modules and high-level
1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  drivers as loadable modules. If you build this support as a module,
1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  it will be called paride.
1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To use the PARIDE support, you must say Y or M here and also to at
1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  least one high-level driver (e.g. "Parallel port IDE disks",
1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and
1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  to at least one protocol driver (e.g. "ATEN EH-100 protocol",
1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  "MicroSolutions backpack protocol", "DataStor Commuter protocol"
1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  etc.).
1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldssource "drivers/block/paride/Kconfig"
1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11988523a61558a040546bf7d8b079ae0755d8e7005Sam Bradshawsource "drivers/block/mtip32xx/Kconfig"
12088523a61558a040546bf7d8b079ae0755d8e7005Sam Bradshaw
1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_CPQ_DA
1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Compaq SMART2 support"
123f057eac0d7ad967138390a9dd7fd8267e1e39d19Stephen Rothwell	depends on PCI && VIRT_TO_BUS
1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This is the driver for Compaq Smart Array controllers.  Everyone
1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  using these boards should say Y here.  See the file
12731c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  <file:Documentation/blockdev/cpqarray.txt> for the current list of
12831c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  boards supported by this driver, and for further information on the
12931c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  use of this driver.
1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_CPQ_CISS_DA
1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Compaq Smart Array 5xxx support"
1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on PCI
1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This is the driver for Compaq Smart Array 5xxx controllers.
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Everyone using these boards should say Y here.
13731c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  See <file:Documentation/blockdev/cciss.txt> for the current list of
1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  boards supported by this driver, and for further information
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  on the use of this driver.
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig CISS_SCSI_TAPE
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool "SCSI tape drive support for Smart Array 5xxx"
1433e29fe837a512229f4757cd93fdd7163d027d103Randy Dunlap	depends on BLK_CPQ_CISS_DA && PROC_FS
1443e29fe837a512229f4757cd93fdd7163d027d103Randy Dunlap	depends on SCSI=y || SCSI=BLK_CPQ_CISS_DA
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When enabled (Y), this option allows SCSI tape drives and SCSI medium
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  changers (tape robots) to be accessed via a Compaq 5xxx array 
14831c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  controller.  (See <file:Documentation/blockdev/cciss.txt> for more details.)
1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  "SCSI support" and "SCSI tape support" must also be enabled for this 
1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  option to work.
1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When this option is disabled (N), the SCSI portion of the driver 
1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  is not compiled.
1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_DAC960
1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Mylex DAC960/DAC1100 PCI RAID Controller support"
1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on PCI
1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver adds support for the Mylex DAC960, AcceleRAID, and
1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  eXtremeRAID PCI RAID controllers.  See the file
16231c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  <file:Documentation/blockdev/README.DAC960> for further information
16331c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  about this driver.
1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called DAC960.
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_UMEM
1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)"
1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on PCI && EXPERIMENTAL
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Saying Y here will include support for the MM5415 family of
1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  battery backed (Non-volatile) RAM cards.
1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <http://www.umem.com/>
1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  The cards appear as block devices that can be partitioned into
1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  as many as 15 partitions.
1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called umem.
1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  The umem driver has not yet been allocated a MAJOR number, so
183bf6ee0ae494596aaf311e8430684db85d1d2f25cAdrian Bunk	  one is chosen dynamically.
1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_UBD
1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool "Virtual block device"
1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on UML
1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          The User-Mode Linux port includes a driver called UBD which will let
1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          you access arbitrary files on the host computer as block devices.
1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          Unless you know that you do not need such virtual block devices say
1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          Y here.
1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_UBD_SYNC
1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool "Always do synchronous disk IO for UBD"
1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on BLK_DEV_UBD
1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Writes to the virtual block device are not immediately written to the
1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  host's disk; this may cause problems if, for example, the User-Mode
2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Linux 'Virtual Machine' uses a journalling filesystem and the host
2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  computer crashes.
2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          Synchronous operation (i.e. always writing data to the host's disk
2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          immediately) is configurable on a per-UBD basis by using a special
2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          kernel command line option.  Alternatively, you can say Y here to
2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          turn on synchronous operation by default for all block devices.
2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          If you're running a journalling file system (like reiserfs, for
2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          example) in your virtual machine, you will want to say Y here.  If
2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          you care for the safety of the data in your virtual machine, Y is a
2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          wise choice too.  In all other cases (for example, if you're just
2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          playing around with User-Mode Linux) you can choose N.
2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_COW_COMMON
2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool
2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	default BLK_DEV_UBD
2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_LOOP
2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Loopback device support"
2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Saying Y here will allow you to use a regular file as a block
2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  device; you can then create a file system on that block device and
2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  mount it just as you would mount other block devices such as hard
2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  drive partitions, CD-ROM drives or floppy drives. The loop devices
2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  are block special device files with major number 7 and typically
2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  called /dev/loop0, /dev/loop1 etc.
2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This is useful if you want to check an ISO 9660 file system before
2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  burning the CD, or if you want to use floppy images without first
2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  writing them to floppy. Furthermore, some Linux distributions avoid
2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  the need for a dedicated Linux partition by keeping their complete
2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  root file system inside a DOS FAT file using this loop device
2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  driver.
2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To use the loop device, you need the losetup utility, found in the
2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  util-linux package, see
2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.
2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  The loop device driver can also be used to "hide" a file system in
2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  a disk partition, floppy, or regular file, either using encryption
2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  (scrambling the data) or steganography (hiding the data in the low
2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  bits of, say, a sound file). This is also safe if the file resides
2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  on a remote file server.
2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  There are several ways of encrypting disks. Some of these require
2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  kernel patches. The vanilla kernel offers the cryptoloop option
2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  and a Device Mapper target (which is superior, as it supports all
2481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  file systems). If you want to use the cryptoloop, say Y to both
2491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12
2501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  or later) version of util-linux. Additionally, be aware that
2511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  the cryptoloop is not safe for storing journaled filesystems.
2521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Note that this loop device has nothing to do with the loopback
2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  device used for network connections from the machine to itself.
2551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
2571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called loop.
2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Most users will answer N here.
2601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
261d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sieversconfig BLK_DEV_LOOP_MIN_COUNT
262d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	int "Number of loop devices to pre-create at init time"
263d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	depends on BLK_DEV_LOOP
264d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	default 8
265d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	help
266d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  Static number of loop devices to be unconditionally pre-created
267d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  at init time.
268d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers
269d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  This default value can be overwritten on the kernel command
270d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  line or with module-parameter loop.max_loop.
271d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers
272d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  The historic default is 8. If a late 2011 version of losetup(8)
273d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  is used, it can be set to 0, since needed loop devices can be
274d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers	  dynamically allocated with the /dev/loop-control interface.
275d134b00b9acca3fb054d7c88a5f5d562ecbb42d1Kay Sievers
2761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_CRYPTOLOOP
2771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Cryptoloop Support"
2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRYPTO
2798df3b0a219967080d9dc4b604b5fecacb6967af0Herbert Xu	select CRYPTO_CBC
2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on BLK_DEV_LOOP
2811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
2821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you want to be able to use the ciphers that are 
2831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  provided by the CryptoAPI as loop transformation. This might be
2841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  used as hard disk encryption.
2851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  WARNING: This device is not safe for journaled file systems like
2871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  ext3 or Reiserfs. Please use the Device Mapper crypto module
2881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  instead, which can be configured to be on-disk compatible with the
2891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  cryptoloop device.
2901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
291b411b3637fa71fce9cf2acf0639009500f5892fePhilipp Reisnersource "drivers/block/drbd/Kconfig"
292b411b3637fa71fce9cf2acf0639009500f5892fePhilipp Reisner
2931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_NBD
2941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Network block device support"
2951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on NET
2961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
2971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Saying Y here will allow your computer to be a client for network
2981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  block devices, i.e. it will be able to use block devices exported by
2991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  servers (mount file systems on them etc.). Communication between
3001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  client and server works over TCP/IP networking, but to the client
3011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  program this is hidden: it looks like a regular local file access to
3021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  a block device special file such as /dev/nd0.
3031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Network block devices also allows you to run a block-device in
3051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  userland (making server and client physically the same computer,
3061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  communicating using the loopback network device).
3071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30831c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  Read <file:Documentation/blockdev/nbd.txt> for more information,
30931c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  especially about where to find the server code, which runs in user
31031c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  space and does not need special kernel support.
3111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Note that this has nothing to do with the network file systems NFS
3131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  or Coda; you can say N here even if you intend to use NFS or Coda.
3141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
3161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called nbd.
3171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If unsure, say N.
3191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
320b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcoxconfig BLK_DEV_NVME
321b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	tristate "NVM Express block device"
322b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	depends on PCI
323b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	---help---
324b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	  The NVM Express driver is for solid state drives directly
325b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	  connected to the PCI or PCI Express bus.  If you know you
326b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	  don't have one of these, it is safe to answer N.
327b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox
328b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	  To compile this driver as a module, choose M here: the
329b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox	  module will be called nvme.
330b60503ba432b16fc84442a84e29a7aad2c0c363dMatthew Wilcox
3312a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzikconfig BLK_DEV_OSD
3322a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	tristate "OSD object-as-blkdev support"
3332a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	depends on SCSI_OSD_ULD
3342a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	---help---
3352a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  Saying Y or M here will allow the exporting of a single SCSI
3362a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  OSD (object-based storage) object as a Linux block device.
3372a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik
3382a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  For example, if you create a 2G object on an OSD device,
3392a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  you can then use this module to present that 2G object as
3402a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  a Linux block device.
3412a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik
3422a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  To compile this driver as a module, choose M here: the
3432a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  module will be called osdblk.
3442a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik
3452a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik	  If unsure, say N.
3462a13877c5ef3207a2a5c56250742e60808677f90Jeff Garzik
3471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_SX8
3481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Promise SATA SX8 support"
3491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on PCI
3501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
3511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Saying Y or M here will enable support for the 
3521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Promise SATA SX8 controllers.
3531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Use devices /dev/sx8/$N and /dev/sx8/$Np$M.
3551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_UB
3577396bd9fa1f291423b6e9a262662a447cc3deb86Sebastian Andrzej Siewior	tristate "Low Performance USB Block driver (deprecated)"
3581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on USB
3591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
3601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver supports certain USB attached storage devices
3611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  such as flash keys.
3621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
363a00828e9ac62caed7b830d631914d7748817ccd1Pete Zaitcev	  If you enable this driver, it is recommended to avoid conflicts
364a00828e9ac62caed7b830d631914d7748817ccd1Pete Zaitcev	  with usb-storage by enabling USB_LIBUSUAL.
3651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If unsure, say N.
3671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_RAM
3699db5579be4bb5320c3248f6acf807aedf05ae143Nick Piggin	tristate "RAM block device support"
3701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
3711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Saying Y here will allow you to use a portion of your RAM memory as
3721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  a block device, so that you can make file systems on it, read and
3731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  write to it and do all the other things that you can do with normal
3741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  block devices (such as hard drives). It is usually used to load and
3751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  store a copy of a minimal root file system off of a floppy into RAM
3761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  during the initial install of Linux.
3771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
37831c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  Note that the kernel command line option "ramdisk=XX" is now obsolete.
37931c00fc15ebd35c1647775dbfc167a15d46657fdRandy Dunlap	  For details, read <file:Documentation/blockdev/ramdisk.txt>.
3801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
3821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called rd.
3831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Most normal users won't need the RAM disk functionality, and can
3851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  thus say N here.
3861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_RAM_COUNT
388a687fb18cbd061de2092632cf77e6b9dc93cf7cdAdrian Bunk	int "Default number of RAM disks"
3891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	default "16"
390a687fb18cbd061de2092632cf77e6b9dc93cf7cdAdrian Bunk	depends on BLK_DEV_RAM
3911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
3922e977c85d78e2ae846d313d0c139d0efbc0c1207Patrick Ringl	  The default value is 16 RAM disks. Change this if you know what you
3931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  are doing. If you boot from a filesystem that needs to be extracted
3941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  in memory, you will need at least one RAM disk (e.g. root on cramfs).
3951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig BLK_DEV_RAM_SIZE
3971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	int "Default RAM disk size (kbytes)"
3981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on BLK_DEV_RAM
3991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	default "4096"
4001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
4011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  The default value is 4096 kilobytes. Only change this if you know
4022e977c85d78e2ae846d313d0c139d0efbc0c1207Patrick Ringl	  what you are doing.
4031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40475acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Pigginconfig BLK_DEV_XIP
40575acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	bool "Support XIP filesystems on RAM block device"
40675acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	depends on BLK_DEV_RAM
40775acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	default n
40875acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	help
40975acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	  Support XIP filesystems (such as ext2 with XIP support on) on
41075acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	  top of block ram device. This will slightly enlarge the kernel, and
41175acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	  will prevent RAM block device backing store memory from being
41275acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin	  allocated from highmem (only a problem for highmem systems).
41375acb9cd2ef0bbb463098fdd40cbcdda79d45fa3Nick Piggin
4141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig CDROM_PKTCDVD
4151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Packet writing on CD/DVD media"
4161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on !UML
4171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
4182d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  If you have a CDROM/DVD drive that supports packet writing, say
4192d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  Y to include support. It should work with any MMC/Mt Fuji
4202d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  compliant ATAPI or SCSI drive, which is just about any newer
4212d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  DVD/CD writer.
4221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4232d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs
4242d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  is possible.
4251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  DVD-RW disks must be in restricted overwrite mode.
4261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4272d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  See the file <file:Documentation/cdrom/packet-writing.txt>
4282d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier	  for further information on the use of this driver.
4292d4eeec563a0472b68de3597c17f2d3b11c49c00Thomas Maier
4301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
4311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called pktcdvd.
4321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig CDROM_PKTCDVD_BUFFERS
4341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	int "Free buffers for data gathering"
4351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on CDROM_PKTCDVD
4361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	default "8"
4371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
4381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This controls the maximum number of active concurrent packets. More
4391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  concurrent packets can increase write performance, but also require
4401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  more memory. Each concurrent packet will require approximately 64Kb
441e1bc89bc9991e994f2b3c60d9ad2fdb5ad9b10fcPeter Osterlund	  of non-swappable kernel memory, memory which will be allocated when
442e1bc89bc9991e994f2b3c60d9ad2fdb5ad9b10fcPeter Osterlund	  a disc is opened for writing.
4431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig CDROM_PKTCDVD_WCACHE
445b566ccefd7814e4fa403de81aea299bdc11ceed5Adrian Bunk	bool "Enable write caching (EXPERIMENTAL)"
446b566ccefd7814e4fa403de81aea299bdc11ceed5Adrian Bunk	depends on CDROM_PKTCDVD && EXPERIMENTAL
4471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
4481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If enabled, write caching will be set for the CD-R/W device. For now
4491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  this option is dangerous unless the CD-RW media is known good, as we
4501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  don't do deferred write error handling yet.
4511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig ATA_OVER_ETH
4531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "ATA over Ethernet support"
4541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on NET
4551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
4561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	This driver provides Support for ATA over Ethernet block
4571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	devices like the Coraid EtherDrive (R) Storage Blade.
4581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4593fbed4c61abd8458896e38633d10110cb5a589d4unsik Kimconfig MG_DISK
4603fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	tristate "mGine mflash, gflash support"
4618a11a789c39cd6f61de4243234cf44a46c23ffd0Bartlomiej Zolnierkiewicz	depends on ARM && GPIOLIB
4623fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	help
4633fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	  mGine mFlash(gFlash) block device driver
4643fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim
4653fbed4c61abd8458896e38633d10110cb5a589d4unsik Kimconfig MG_DISK_RES
4663fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	int "Size of reserved area before MBR"
4673fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	depends on MG_DISK
4683fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	default 0
4693fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	help
4703fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	  Define size of reserved area that usually used for boot. Unit is KB.
4713fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	  All of the block device operation will be taken this value as start
4723fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	  offset
4733fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim	  Examples:
4743fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim			1024 => 1 MB
4753fbed4c61abd8458896e38633d10110cb5a589d4unsik Kim
476667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Millerconfig SUNVDC
477667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Miller	tristate "Sun Virtual Disk Client support"
478667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Miller	depends on SUN_LDOMS
479667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Miller	help
480667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Miller	  Support for virtual disk devices as a client under Sun
481667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Miller	  Logical Domains.
482667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6David S. Miller
48361d48c2c31799ab9dbddbbcfccfd8042a5c6b75aMartin Schwidefskysource "drivers/s390/block/Kconfig"
48461d48c2c31799ab9dbddbbcfccfd8042a5c6b75aMartin Schwidefsky
48574489a91dd43aecd638709d34a2f58b91cfda5cfGrant Likelyconfig XILINX_SYSACE
48674489a91dd43aecd638709d34a2f58b91cfda5cfGrant Likely	tristate "Xilinx SystemACE support"
4876fa612b56c575a5235568593eab4240c90608630Michal Simek	depends on 4xx || MICROBLAZE
48874489a91dd43aecd638709d34a2f58b91cfda5cfGrant Likely	help
48974489a91dd43aecd638709d34a2f58b91cfda5cfGrant Likely	  Include support for the Xilinx SystemACE CompactFlash interface
49074489a91dd43aecd638709d34a2f58b91cfda5cfGrant Likely
4919f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardingeconfig XEN_BLKDEV_FRONTEND
4929f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	tristate "Xen virtual block device support"
4939f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	depends on XEN
4949f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	default y
4952de06cc1f18d638cc7ab1169f61a8599045c2d4fIan Campbell	select XEN_XENBUS_FRONTEND
4969f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	help
4979f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	  This driver implements the front-end of the Xen virtual
4989f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	  block device driver.  It communicates with a back-end driver
4999f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge	  in another domain which drives the actual block device.
5009f27ee595038653ddf8bca871200d39247d6f4fcJeremy Fitzhardinge
501dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilkconfig XEN_BLKDEV_BACKEND
502ea5e116162b7e0cf83a2b8a273440514404604deKonrad Rzeszutek Wilk	tristate "Xen block-device backend driver"
503dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilk	depends on XEN_BACKEND
504dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilk	help
505dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilk	  The block-device backend driver allows the kernel to export its
506dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilk	  block devices to other guests via a high-performance shared-memory
507dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilk	  interface.
508dfc07b13dcacefda6ebdea14584ed8724dc980efKonrad Rzeszutek Wilk
509a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  The corresponding Linux frontend driver is enabled by the
510a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  CONFIG_XEN_BLKDEV_FRONTEND configuration option.
511a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk
512a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  The backend driver attaches itself to a any block device specified
513a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  in the XenBus configuration. There are no limits to what the block
514a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  device as long as it has a major and minor.
515a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk
516a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  If you are compiling a kernel to run in a Xen block backend driver
517a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  domain (often this is domain 0) you should say Y here. To
518a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  compile this driver as a module, chose M here: the module
519a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk	  will be called xen-blkback.
520a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk
521a4c348580e65c95d4b278bb6f154f622df12b893Konrad Rzeszutek Wilk
522e467cde238184d1b0923db2cd61ae1c5a6dc15aaRusty Russellconfig VIRTIO_BLK
523e467cde238184d1b0923db2cd61ae1c5a6dc15aaRusty Russell	tristate "Virtio block driver (EXPERIMENTAL)"
524e467cde238184d1b0923db2cd61ae1c5a6dc15aaRusty Russell	depends on EXPERIMENTAL && VIRTIO
525e467cde238184d1b0923db2cd61ae1c5a6dc15aaRusty Russell	---help---
5260ad07ec1fd2f3e90dfb086b04c07a83db40e9172Anthony Liguori	  This is the virtual block driver for virtio.  It can be used with
5270ad07ec1fd2f3e90dfb086b04c07a83db40e9172Anthony Liguori          lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
528e467cde238184d1b0923db2cd61ae1c5a6dc15aaRusty Russell
529453ea3ed0b3e8ad67d4ee9d2fccf3d95a3e1f709Adrian Bunkconfig BLK_DEV_HD
530f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk	bool "Very old hard disk (MFM/RLL/IDE) driver"
531453ea3ed0b3e8ad67d4ee9d2fccf3d95a3e1f709Adrian Bunk	depends on HAVE_IDE
532453ea3ed0b3e8ad67d4ee9d2fccf3d95a3e1f709Adrian Bunk	depends on !ARM || ARCH_RPC || ARCH_SHARK || BROKEN
533453ea3ed0b3e8ad67d4ee9d2fccf3d95a3e1f709Adrian Bunk	help
534f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk	  This is a very old hard disk driver that lacks the enhanced
535f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk	  functionality of the newer ones.
536f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk
537f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk	  It is required for systems with ancient MFM/RLL/ESDI drives.
538f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk
539f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6Adrian Bunk	  If unsure, say N.
540453ea3ed0b3e8ad67d4ee9d2fccf3d95a3e1f709Adrian Bunk
541602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadehconfig BLK_DEV_RBD
542602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	tristate "Rados block device (RBD)"
543602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	depends on INET && EXPERIMENTAL && BLOCK
544602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	select CEPH_LIB
545602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	select LIBCRC32C
546602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	select CRYPTO_AES
547602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	select CRYPTO
548602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	default n
549602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	help
550602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	  Say Y here if you want include the Rados block device, which stripes
551602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	  a block device over objects stored in the Ceph distributed object
552602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	  store.
553602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh
554602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	  More information at http://ceph.newdream.net/.
555602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh
556602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh	  If unsure, say N.
557602adf400201636e95c3fed9f31fba54a3d7e844Yehuda Sadeh
558fd11d171e51a5b81c176d856d5df5612117e1a45Jan Engelhardtendif # BLK_DEV
559