xref: /OK3568_Linux_fs/kernel/drivers/block/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Block device driver configuration
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunmenuconfig BLK_DEV
7*4882a593Smuzhiyun	bool "Block devices"
8*4882a593Smuzhiyun	depends on BLOCK
9*4882a593Smuzhiyun	default y
10*4882a593Smuzhiyun	help
11*4882a593Smuzhiyun	  Say Y here to get to see options for various different block device
12*4882a593Smuzhiyun	  drivers. This option alone does not add any kernel code.
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	  If you say N, all options in this submenu will be skipped and disabled;
15*4882a593Smuzhiyun	  only do this if you know what you are doing.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunif BLK_DEV
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunconfig BLK_DEV_NULL_BLK
20*4882a593Smuzhiyun	tristate "Null test block driver"
21*4882a593Smuzhiyun	select CONFIGFS_FS
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunconfig BLK_DEV_NULL_BLK_FAULT_INJECTION
24*4882a593Smuzhiyun	bool "Support fault injection for Null test block driver"
25*4882a593Smuzhiyun	depends on BLK_DEV_NULL_BLK && FAULT_INJECTION
26*4882a593Smuzhiyun
27*4882a593Smuzhiyunconfig BLK_DEV_FD
28*4882a593Smuzhiyun	tristate "Normal floppy disk support"
29*4882a593Smuzhiyun	depends on ARCH_MAY_HAVE_PC_FDC
30*4882a593Smuzhiyun	help
31*4882a593Smuzhiyun	  If you want to use the floppy disk drive(s) of your PC under Linux,
32*4882a593Smuzhiyun	  say Y. Information about this driver, especially important for IBM
33*4882a593Smuzhiyun	  Thinkpad users, is contained in
34*4882a593Smuzhiyun	  <file:Documentation/admin-guide/blockdev/floppy.rst>.
35*4882a593Smuzhiyun	  That file also contains the location of the Floppy driver FAQ as
36*4882a593Smuzhiyun	  well as location of the fdutils package used to configure additional
37*4882a593Smuzhiyun	  parameters of the driver at run time.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
40*4882a593Smuzhiyun	  module will be called floppy.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunconfig BLK_DEV_FD_RAWCMD
43*4882a593Smuzhiyun	bool "Support for raw floppy disk commands (DEPRECATED)"
44*4882a593Smuzhiyun	depends on BLK_DEV_FD
45*4882a593Smuzhiyun	help
46*4882a593Smuzhiyun	  If you want to use actual physical floppies and expect to do
47*4882a593Smuzhiyun	  special low-level hardware accesses to them (access and use
48*4882a593Smuzhiyun	  non-standard formats, for example), then enable this.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun	  Note that the code enabled by this option is rarely used and
51*4882a593Smuzhiyun	  might be unstable or insecure, and distros should not enable it.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	  Note: FDRAWCMD is deprecated and will be removed from the kernel
54*4882a593Smuzhiyun	  in the near future.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	  If unsure, say N.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyunconfig AMIGA_FLOPPY
59*4882a593Smuzhiyun	tristate "Amiga floppy support"
60*4882a593Smuzhiyun	depends on AMIGA
61*4882a593Smuzhiyun
62*4882a593Smuzhiyunconfig ATARI_FLOPPY
63*4882a593Smuzhiyun	tristate "Atari floppy support"
64*4882a593Smuzhiyun	depends on ATARI
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunconfig MAC_FLOPPY
67*4882a593Smuzhiyun	tristate "Support for PowerMac floppy"
68*4882a593Smuzhiyun	depends on PPC_PMAC && !PPC_PMAC64
69*4882a593Smuzhiyun	help
70*4882a593Smuzhiyun	  If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple)
71*4882a593Smuzhiyun	  floppy controller, say Y here. Most commonly found in PowerMacs.
72*4882a593Smuzhiyun
73*4882a593Smuzhiyunconfig BLK_DEV_SWIM
74*4882a593Smuzhiyun	tristate "Support for SWIM Macintosh floppy"
75*4882a593Smuzhiyun	depends on M68K && MAC
76*4882a593Smuzhiyun	help
77*4882a593Smuzhiyun	  You should select this option if you want floppy support
78*4882a593Smuzhiyun	  and you don't have a II, IIfx, Q900, Q950 or AV series.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig AMIGA_Z2RAM
81*4882a593Smuzhiyun	tristate "Amiga Zorro II ramdisk support"
82*4882a593Smuzhiyun	depends on ZORRO
83*4882a593Smuzhiyun	help
84*4882a593Smuzhiyun	  This enables support for using Chip RAM and Zorro II RAM as a
85*4882a593Smuzhiyun	  ramdisk or as a swap partition. Say Y if you want to include this
86*4882a593Smuzhiyun	  driver in the kernel.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
89*4882a593Smuzhiyun	  module will be called z2ram.
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunconfig CDROM
92*4882a593Smuzhiyun	tristate
93*4882a593Smuzhiyun	select BLK_SCSI_REQUEST
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunconfig GDROM
96*4882a593Smuzhiyun	tristate "SEGA Dreamcast GD-ROM drive"
97*4882a593Smuzhiyun	depends on SH_DREAMCAST
98*4882a593Smuzhiyun	select CDROM
99*4882a593Smuzhiyun	help
100*4882a593Smuzhiyun	  A standard SEGA Dreamcast comes with a modified CD ROM drive called a
101*4882a593Smuzhiyun	  "GD-ROM" by SEGA to signify it is capable of reading special disks
102*4882a593Smuzhiyun	  with up to 1 GB of data. This drive will also read standard CD ROM
103*4882a593Smuzhiyun	  disks. Select this option to access any disks in your GD ROM drive.
104*4882a593Smuzhiyun	  Most users will want to say "Y" here.
105*4882a593Smuzhiyun	  You can also build this as a module which will be called gdrom.
106*4882a593Smuzhiyun
107*4882a593Smuzhiyunconfig PARIDE
108*4882a593Smuzhiyun	tristate "Parallel port IDE device support"
109*4882a593Smuzhiyun	depends on PARPORT_PC
110*4882a593Smuzhiyun	help
111*4882a593Smuzhiyun	  There are many external CD-ROM and disk devices that connect through
112*4882a593Smuzhiyun	  your computer's parallel port. Most of them are actually IDE devices
113*4882a593Smuzhiyun	  using a parallel port IDE adapter. This option enables the PARIDE
114*4882a593Smuzhiyun	  subsystem which contains drivers for many of these external drives.
115*4882a593Smuzhiyun	  Read <file:Documentation/admin-guide/blockdev/paride.rst> for more information.
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun	  If you have said Y to the "Parallel-port support" configuration
118*4882a593Smuzhiyun	  option, you may share a single port between your printer and other
119*4882a593Smuzhiyun	  parallel port devices. Answer Y to build PARIDE support into your
120*4882a593Smuzhiyun	  kernel, or M if you would like to build it as a loadable module. If
121*4882a593Smuzhiyun	  your parallel port support is in a loadable module, you must build
122*4882a593Smuzhiyun	  PARIDE as a module. If you built PARIDE support into your kernel,
123*4882a593Smuzhiyun	  you may still build the individual protocol modules and high-level
124*4882a593Smuzhiyun	  drivers as loadable modules. If you build this support as a module,
125*4882a593Smuzhiyun	  it will be called paride.
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun	  To use the PARIDE support, you must say Y or M here and also to at
128*4882a593Smuzhiyun	  least one high-level driver (e.g. "Parallel port IDE disks",
129*4882a593Smuzhiyun	  "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and
130*4882a593Smuzhiyun	  to at least one protocol driver (e.g. "ATEN EH-100 protocol",
131*4882a593Smuzhiyun	  "MicroSolutions backpack protocol", "DataStor Commuter protocol"
132*4882a593Smuzhiyun	  etc.).
133*4882a593Smuzhiyun
134*4882a593Smuzhiyunsource "drivers/block/paride/Kconfig"
135*4882a593Smuzhiyun
136*4882a593Smuzhiyunsource "drivers/block/mtip32xx/Kconfig"
137*4882a593Smuzhiyun
138*4882a593Smuzhiyunsource "drivers/block/zram/Kconfig"
139*4882a593Smuzhiyun
140*4882a593Smuzhiyunconfig BLK_DEV_UMEM
141*4882a593Smuzhiyun	tristate "Micro Memory MM5415 Battery Backed RAM support"
142*4882a593Smuzhiyun	depends on PCI
143*4882a593Smuzhiyun	help
144*4882a593Smuzhiyun	  Saying Y here will include support for the MM5415 family of
145*4882a593Smuzhiyun	  battery backed (Non-volatile) RAM cards.
146*4882a593Smuzhiyun	  <http://www.umem.com/>
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun	  The cards appear as block devices that can be partitioned into
149*4882a593Smuzhiyun	  as many as 15 partitions.
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
152*4882a593Smuzhiyun	  module will be called umem.
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun	  The umem driver has not yet been allocated a MAJOR number, so
155*4882a593Smuzhiyun	  one is chosen dynamically.
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunconfig BLK_DEV_UBD
158*4882a593Smuzhiyun	bool "Virtual block device"
159*4882a593Smuzhiyun	depends on UML
160*4882a593Smuzhiyun	help
161*4882a593Smuzhiyun          The User-Mode Linux port includes a driver called UBD which will let
162*4882a593Smuzhiyun          you access arbitrary files on the host computer as block devices.
163*4882a593Smuzhiyun          Unless you know that you do not need such virtual block devices say
164*4882a593Smuzhiyun          Y here.
165*4882a593Smuzhiyun
166*4882a593Smuzhiyunconfig BLK_DEV_UBD_SYNC
167*4882a593Smuzhiyun	bool "Always do synchronous disk IO for UBD"
168*4882a593Smuzhiyun	depends on BLK_DEV_UBD
169*4882a593Smuzhiyun	help
170*4882a593Smuzhiyun	  Writes to the virtual block device are not immediately written to the
171*4882a593Smuzhiyun	  host's disk; this may cause problems if, for example, the User-Mode
172*4882a593Smuzhiyun	  Linux 'Virtual Machine' uses a journalling filesystem and the host
173*4882a593Smuzhiyun	  computer crashes.
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun          Synchronous operation (i.e. always writing data to the host's disk
176*4882a593Smuzhiyun          immediately) is configurable on a per-UBD basis by using a special
177*4882a593Smuzhiyun          kernel command line option.  Alternatively, you can say Y here to
178*4882a593Smuzhiyun          turn on synchronous operation by default for all block devices.
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun          If you're running a journalling file system (like reiserfs, for
181*4882a593Smuzhiyun          example) in your virtual machine, you will want to say Y here.  If
182*4882a593Smuzhiyun          you care for the safety of the data in your virtual machine, Y is a
183*4882a593Smuzhiyun          wise choice too.  In all other cases (for example, if you're just
184*4882a593Smuzhiyun          playing around with User-Mode Linux) you can choose N.
185*4882a593Smuzhiyun
186*4882a593Smuzhiyunconfig BLK_DEV_COW_COMMON
187*4882a593Smuzhiyun	bool
188*4882a593Smuzhiyun	default BLK_DEV_UBD
189*4882a593Smuzhiyun
190*4882a593Smuzhiyunconfig BLK_DEV_LOOP
191*4882a593Smuzhiyun	tristate "Loopback device support"
192*4882a593Smuzhiyun	help
193*4882a593Smuzhiyun	  Saying Y here will allow you to use a regular file as a block
194*4882a593Smuzhiyun	  device; you can then create a file system on that block device and
195*4882a593Smuzhiyun	  mount it just as you would mount other block devices such as hard
196*4882a593Smuzhiyun	  drive partitions, CD-ROM drives or floppy drives. The loop devices
197*4882a593Smuzhiyun	  are block special device files with major number 7 and typically
198*4882a593Smuzhiyun	  called /dev/loop0, /dev/loop1 etc.
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun	  This is useful if you want to check an ISO 9660 file system before
201*4882a593Smuzhiyun	  burning the CD, or if you want to use floppy images without first
202*4882a593Smuzhiyun	  writing them to floppy. Furthermore, some Linux distributions avoid
203*4882a593Smuzhiyun	  the need for a dedicated Linux partition by keeping their complete
204*4882a593Smuzhiyun	  root file system inside a DOS FAT file using this loop device
205*4882a593Smuzhiyun	  driver.
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun	  To use the loop device, you need the losetup utility, found in the
208*4882a593Smuzhiyun	  util-linux package, see
209*4882a593Smuzhiyun	  <https://www.kernel.org/pub/linux/utils/util-linux/>.
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun	  The loop device driver can also be used to "hide" a file system in
212*4882a593Smuzhiyun	  a disk partition, floppy, or regular file, either using encryption
213*4882a593Smuzhiyun	  (scrambling the data) or steganography (hiding the data in the low
214*4882a593Smuzhiyun	  bits of, say, a sound file). This is also safe if the file resides
215*4882a593Smuzhiyun	  on a remote file server.
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun	  There are several ways of encrypting disks. Some of these require
218*4882a593Smuzhiyun	  kernel patches. The vanilla kernel offers the cryptoloop option
219*4882a593Smuzhiyun	  and a Device Mapper target (which is superior, as it supports all
220*4882a593Smuzhiyun	  file systems). If you want to use the cryptoloop, say Y to both
221*4882a593Smuzhiyun	  LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12
222*4882a593Smuzhiyun	  or later) version of util-linux. Additionally, be aware that
223*4882a593Smuzhiyun	  the cryptoloop is not safe for storing journaled filesystems.
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun	  Note that this loop device has nothing to do with the loopback
226*4882a593Smuzhiyun	  device used for network connections from the machine to itself.
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
229*4882a593Smuzhiyun	  module will be called loop.
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun	  Most users will answer N here.
232*4882a593Smuzhiyun
233*4882a593Smuzhiyunconfig BLK_DEV_LOOP_MIN_COUNT
234*4882a593Smuzhiyun	int "Number of loop devices to pre-create at init time"
235*4882a593Smuzhiyun	depends on BLK_DEV_LOOP
236*4882a593Smuzhiyun	default 8
237*4882a593Smuzhiyun	help
238*4882a593Smuzhiyun	  Static number of loop devices to be unconditionally pre-created
239*4882a593Smuzhiyun	  at init time.
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun	  This default value can be overwritten on the kernel command
242*4882a593Smuzhiyun	  line or with module-parameter loop.max_loop.
243*4882a593Smuzhiyun
244*4882a593Smuzhiyun	  The historic default is 8. If a late 2011 version of losetup(8)
245*4882a593Smuzhiyun	  is used, it can be set to 0, since needed loop devices can be
246*4882a593Smuzhiyun	  dynamically allocated with the /dev/loop-control interface.
247*4882a593Smuzhiyun
248*4882a593Smuzhiyunconfig BLK_DEV_CRYPTOLOOP
249*4882a593Smuzhiyun	tristate "Cryptoloop Support (DEPRECATED)"
250*4882a593Smuzhiyun	select CRYPTO
251*4882a593Smuzhiyun	select CRYPTO_CBC
252*4882a593Smuzhiyun	depends on BLK_DEV_LOOP
253*4882a593Smuzhiyun	help
254*4882a593Smuzhiyun	  Say Y here if you want to be able to use the ciphers that are
255*4882a593Smuzhiyun	  provided by the CryptoAPI as loop transformation. This might be
256*4882a593Smuzhiyun	  used as hard disk encryption.
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun	  WARNING: This device is not safe for journaled file systems like
259*4882a593Smuzhiyun	  ext3 or Reiserfs. Please use the Device Mapper crypto module
260*4882a593Smuzhiyun	  instead, which can be configured to be on-disk compatible with the
261*4882a593Smuzhiyun	  cryptoloop device.  cryptoloop support will be removed in Linux 5.16.
262*4882a593Smuzhiyun
263*4882a593Smuzhiyunsource "drivers/block/drbd/Kconfig"
264*4882a593Smuzhiyun
265*4882a593Smuzhiyunconfig BLK_DEV_NBD
266*4882a593Smuzhiyun	tristate "Network block device support"
267*4882a593Smuzhiyun	depends on NET
268*4882a593Smuzhiyun	help
269*4882a593Smuzhiyun	  Saying Y here will allow your computer to be a client for network
270*4882a593Smuzhiyun	  block devices, i.e. it will be able to use block devices exported by
271*4882a593Smuzhiyun	  servers (mount file systems on them etc.). Communication between
272*4882a593Smuzhiyun	  client and server works over TCP/IP networking, but to the client
273*4882a593Smuzhiyun	  program this is hidden: it looks like a regular local file access to
274*4882a593Smuzhiyun	  a block device special file such as /dev/nd0.
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun	  Network block devices also allows you to run a block-device in
277*4882a593Smuzhiyun	  userland (making server and client physically the same computer,
278*4882a593Smuzhiyun	  communicating using the loopback network device).
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun	  Read <file:Documentation/admin-guide/blockdev/nbd.rst> for more information,
281*4882a593Smuzhiyun	  especially about where to find the server code, which runs in user
282*4882a593Smuzhiyun	  space and does not need special kernel support.
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun	  Note that this has nothing to do with the network file systems NFS
285*4882a593Smuzhiyun	  or Coda; you can say N here even if you intend to use NFS or Coda.
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
288*4882a593Smuzhiyun	  module will be called nbd.
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun	  If unsure, say N.
291*4882a593Smuzhiyun
292*4882a593Smuzhiyunconfig BLK_DEV_SKD
293*4882a593Smuzhiyun	tristate "STEC S1120 Block Driver"
294*4882a593Smuzhiyun	depends on PCI
295*4882a593Smuzhiyun	depends on 64BIT
296*4882a593Smuzhiyun	help
297*4882a593Smuzhiyun	Saying Y or M here will enable support for the
298*4882a593Smuzhiyun	STEC, Inc. S1120 PCIe SSD.
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun	Use device /dev/skd$N amd /dev/skd$Np$M.
301*4882a593Smuzhiyun
302*4882a593Smuzhiyunconfig BLK_DEV_SX8
303*4882a593Smuzhiyun	tristate "Promise SATA SX8 support"
304*4882a593Smuzhiyun	depends on PCI
305*4882a593Smuzhiyun	help
306*4882a593Smuzhiyun	  Saying Y or M here will enable support for the
307*4882a593Smuzhiyun	  Promise SATA SX8 controllers.
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun	  Use devices /dev/sx8/$N and /dev/sx8/$Np$M.
310*4882a593Smuzhiyun
311*4882a593Smuzhiyunconfig BLK_DEV_RAM
312*4882a593Smuzhiyun	tristate "RAM block device support"
313*4882a593Smuzhiyun	help
314*4882a593Smuzhiyun	  Saying Y here will allow you to use a portion of your RAM memory as
315*4882a593Smuzhiyun	  a block device, so that you can make file systems on it, read and
316*4882a593Smuzhiyun	  write to it and do all the other things that you can do with normal
317*4882a593Smuzhiyun	  block devices (such as hard drives). It is usually used to load and
318*4882a593Smuzhiyun	  store a copy of a minimal root file system off of a floppy into RAM
319*4882a593Smuzhiyun	  during the initial install of Linux.
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun	  Note that the kernel command line option "ramdisk=XX" is now obsolete.
322*4882a593Smuzhiyun	  For details, read <file:Documentation/admin-guide/blockdev/ramdisk.rst>.
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
325*4882a593Smuzhiyun	  module will be called brd. An alias "rd" has been defined
326*4882a593Smuzhiyun	  for historical reasons.
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun	  Most normal users won't need the RAM disk functionality, and can
329*4882a593Smuzhiyun	  thus say N here.
330*4882a593Smuzhiyun
331*4882a593Smuzhiyunconfig BLK_DEV_RAM_COUNT
332*4882a593Smuzhiyun	int "Default number of RAM disks"
333*4882a593Smuzhiyun	default "16"
334*4882a593Smuzhiyun	depends on BLK_DEV_RAM
335*4882a593Smuzhiyun	help
336*4882a593Smuzhiyun	  The default value is 16 RAM disks. Change this if you know what you
337*4882a593Smuzhiyun	  are doing. If you boot from a filesystem that needs to be extracted
338*4882a593Smuzhiyun	  in memory, you will need at least one RAM disk (e.g. root on cramfs).
339*4882a593Smuzhiyun
340*4882a593Smuzhiyunconfig BLK_DEV_RAM_SIZE
341*4882a593Smuzhiyun	int "Default RAM disk size (kbytes)"
342*4882a593Smuzhiyun	depends on BLK_DEV_RAM
343*4882a593Smuzhiyun	default "4096"
344*4882a593Smuzhiyun	help
345*4882a593Smuzhiyun	  The default value is 4096 kilobytes. Only change this if you know
346*4882a593Smuzhiyun	  what you are doing.
347*4882a593Smuzhiyun
348*4882a593Smuzhiyunconfig CDROM_PKTCDVD
349*4882a593Smuzhiyun	tristate "Packet writing on CD/DVD media (DEPRECATED)"
350*4882a593Smuzhiyun	depends on !UML
351*4882a593Smuzhiyun	select CDROM
352*4882a593Smuzhiyun	select BLK_SCSI_REQUEST
353*4882a593Smuzhiyun	help
354*4882a593Smuzhiyun	  Note: This driver is deprecated and will be removed from the
355*4882a593Smuzhiyun	  kernel in the near future!
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun	  If you have a CDROM/DVD drive that supports packet writing, say
358*4882a593Smuzhiyun	  Y to include support. It should work with any MMC/Mt Fuji
359*4882a593Smuzhiyun	  compliant ATAPI or SCSI drive, which is just about any newer
360*4882a593Smuzhiyun	  DVD/CD writer.
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun	  Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs
363*4882a593Smuzhiyun	  is possible.
364*4882a593Smuzhiyun	  DVD-RW disks must be in restricted overwrite mode.
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun	  See the file <file:Documentation/cdrom/packet-writing.rst>
367*4882a593Smuzhiyun	  for further information on the use of this driver.
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
370*4882a593Smuzhiyun	  module will be called pktcdvd.
371*4882a593Smuzhiyun
372*4882a593Smuzhiyunconfig CDROM_PKTCDVD_BUFFERS
373*4882a593Smuzhiyun	int "Free buffers for data gathering"
374*4882a593Smuzhiyun	depends on CDROM_PKTCDVD
375*4882a593Smuzhiyun	default "8"
376*4882a593Smuzhiyun	help
377*4882a593Smuzhiyun	  This controls the maximum number of active concurrent packets. More
378*4882a593Smuzhiyun	  concurrent packets can increase write performance, but also require
379*4882a593Smuzhiyun	  more memory. Each concurrent packet will require approximately 64Kb
380*4882a593Smuzhiyun	  of non-swappable kernel memory, memory which will be allocated when
381*4882a593Smuzhiyun	  a disc is opened for writing.
382*4882a593Smuzhiyun
383*4882a593Smuzhiyunconfig CDROM_PKTCDVD_WCACHE
384*4882a593Smuzhiyun	bool "Enable write caching"
385*4882a593Smuzhiyun	depends on CDROM_PKTCDVD
386*4882a593Smuzhiyun	help
387*4882a593Smuzhiyun	  If enabled, write caching will be set for the CD-R/W device. For now
388*4882a593Smuzhiyun	  this option is dangerous unless the CD-RW media is known good, as we
389*4882a593Smuzhiyun	  don't do deferred write error handling yet.
390*4882a593Smuzhiyun
391*4882a593Smuzhiyunconfig ATA_OVER_ETH
392*4882a593Smuzhiyun	tristate "ATA over Ethernet support"
393*4882a593Smuzhiyun	depends on NET
394*4882a593Smuzhiyun	help
395*4882a593Smuzhiyun	This driver provides Support for ATA over Ethernet block
396*4882a593Smuzhiyun	devices like the Coraid EtherDrive (R) Storage Blade.
397*4882a593Smuzhiyun
398*4882a593Smuzhiyunconfig SUNVDC
399*4882a593Smuzhiyun	tristate "Sun Virtual Disk Client support"
400*4882a593Smuzhiyun	depends on SUN_LDOMS
401*4882a593Smuzhiyun	help
402*4882a593Smuzhiyun	  Support for virtual disk devices as a client under Sun
403*4882a593Smuzhiyun	  Logical Domains.
404*4882a593Smuzhiyun
405*4882a593Smuzhiyunsource "drivers/s390/block/Kconfig"
406*4882a593Smuzhiyun
407*4882a593Smuzhiyunconfig XILINX_SYSACE
408*4882a593Smuzhiyun	tristate "Xilinx SystemACE support"
409*4882a593Smuzhiyun	depends on 4xx || MICROBLAZE
410*4882a593Smuzhiyun	help
411*4882a593Smuzhiyun	  Include support for the Xilinx SystemACE CompactFlash interface
412*4882a593Smuzhiyun
413*4882a593Smuzhiyunconfig XEN_BLKDEV_FRONTEND
414*4882a593Smuzhiyun	tristate "Xen virtual block device support"
415*4882a593Smuzhiyun	depends on XEN
416*4882a593Smuzhiyun	default y
417*4882a593Smuzhiyun	select XEN_XENBUS_FRONTEND
418*4882a593Smuzhiyun	help
419*4882a593Smuzhiyun	  This driver implements the front-end of the Xen virtual
420*4882a593Smuzhiyun	  block device driver.  It communicates with a back-end driver
421*4882a593Smuzhiyun	  in another domain which drives the actual block device.
422*4882a593Smuzhiyun
423*4882a593Smuzhiyunconfig XEN_BLKDEV_BACKEND
424*4882a593Smuzhiyun	tristate "Xen block-device backend driver"
425*4882a593Smuzhiyun	depends on XEN_BACKEND
426*4882a593Smuzhiyun	help
427*4882a593Smuzhiyun	  The block-device backend driver allows the kernel to export its
428*4882a593Smuzhiyun	  block devices to other guests via a high-performance shared-memory
429*4882a593Smuzhiyun	  interface.
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun	  The corresponding Linux frontend driver is enabled by the
432*4882a593Smuzhiyun	  CONFIG_XEN_BLKDEV_FRONTEND configuration option.
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun	  The backend driver attaches itself to a any block device specified
435*4882a593Smuzhiyun	  in the XenBus configuration. There are no limits to what the block
436*4882a593Smuzhiyun	  device as long as it has a major and minor.
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun	  If you are compiling a kernel to run in a Xen block backend driver
439*4882a593Smuzhiyun	  domain (often this is domain 0) you should say Y here. To
440*4882a593Smuzhiyun	  compile this driver as a module, chose M here: the module
441*4882a593Smuzhiyun	  will be called xen-blkback.
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun
444*4882a593Smuzhiyunconfig VIRTIO_BLK
445*4882a593Smuzhiyun	tristate "Virtio block driver"
446*4882a593Smuzhiyun	depends on VIRTIO
447*4882a593Smuzhiyun	help
448*4882a593Smuzhiyun	  This is the virtual block driver for virtio.  It can be used with
449*4882a593Smuzhiyun          QEMU based VMMs (like KVM or Xen).  Say Y or M.
450*4882a593Smuzhiyun
451*4882a593Smuzhiyunconfig BLK_DEV_RBD
452*4882a593Smuzhiyun	tristate "Rados block device (RBD)"
453*4882a593Smuzhiyun	depends on INET && BLOCK
454*4882a593Smuzhiyun	select CEPH_LIB
455*4882a593Smuzhiyun	select LIBCRC32C
456*4882a593Smuzhiyun	select CRYPTO_AES
457*4882a593Smuzhiyun	select CRYPTO
458*4882a593Smuzhiyun	help
459*4882a593Smuzhiyun	  Say Y here if you want include the Rados block device, which stripes
460*4882a593Smuzhiyun	  a block device over objects stored in the Ceph distributed object
461*4882a593Smuzhiyun	  store.
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun	  More information at http://ceph.newdream.net/.
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun	  If unsure, say N.
466*4882a593Smuzhiyun
467*4882a593Smuzhiyunconfig BLK_DEV_RSXX
468*4882a593Smuzhiyun	tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver"
469*4882a593Smuzhiyun	depends on PCI
470*4882a593Smuzhiyun	select CRC32
471*4882a593Smuzhiyun	help
472*4882a593Smuzhiyun	  Device driver for IBM's high speed PCIe SSD
473*4882a593Smuzhiyun	  storage device: Flash Adapter 900GB Full Height.
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
476*4882a593Smuzhiyun	  module will be called rsxx.
477*4882a593Smuzhiyun
478*4882a593Smuzhiyunsource "drivers/block/rnbd/Kconfig"
479*4882a593Smuzhiyun
480*4882a593Smuzhiyunendif # BLK_DEV
481