kernel-ark/drivers/scsi
David Howells 9361401eb7 [PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer.  Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.

This patch does the following:

 (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
     support.

 (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
     an item that uses the block layer.  This includes:

     (*) Block I/O tracing.

     (*) Disk partition code.

     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.

     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the
     	 block layer to do scheduling.  Some drivers that use SCSI facilities -
     	 such as USB storage - end up disabled indirectly from this.

     (*) Various block-based device drivers, such as IDE and the old CDROM
     	 drivers.

     (*) MTD blockdev handling and FTL.

     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
     	 taking a leaf out of JFFS2's book.

 (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,
     however, still used in places, and so is still available.

 (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
     parts of linux/fs.h.

 (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.

 (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.

 (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
     is not enabled.

 (*) fs/no-block.c is created to hold out-of-line stubs and things that are
     required when CONFIG_BLOCK is not set:

     (*) Default blockdev file operations (to give error ENODEV on opening).

 (*) Makes some /proc changes:

     (*) /proc/devices does not list any blockdevs.

     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.

 (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.

 (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
     given command other than Q_SYNC or if a special device is specified.

 (*) In init/do_mounts.c, no reference is made to the blockdev routines if
     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.

 (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
     error ENOSYS by way of cond_syscall if so).

 (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
     CONFIG_BLOCK is not set, since they can't then happen.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-09-30 20:52:31 +02:00
..
aacraid [PATCH] missing include (free_irq() use) 2006-09-24 15:55:03 -07:00
aic7xxx [PATCH] EISA bus MODALIAS attributes support 2006-09-27 08:26:19 -07:00
aic7xxx_old
aic94xx [PATCH] fix idiocy in asd_init_lseq_mdp() 2006-09-24 20:07:49 -07:00
arcmsr
arm
dpt
ibmvscsi
libsas [PATCH] SCSI gfp_t annotations 2006-09-24 20:07:49 -07:00
lpfc
megaraid
pcmcia
qla2xxx
sym53c8xx_2
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-xxxx.c
3w-xxxx.h
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c7xx.c
53c7xx.h
53c7xx.scr
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
a2091.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
a3000.c [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
a3000.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
advansys.c
advansys.h
aha152x.c [SCSI] aha152x: remove static host array 2006-09-23 11:51:57 -05:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c [PATCH] EISA bus MODALIAS attributes support 2006-09-27 08:26:19 -07:00
aha1740.h
aic7xxx_old.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
amiga7xx.c
amiga7xx.h
atari_dma_emul.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
blz1230.c
blz2060.c
BusLogic.c [SCSI] Switch some more scsi drivers to pci_get_device and refcounted pci structures 2006-09-23 20:32:52 -05:00
BusLogic.h
bvme6000.c
bvme6000.h
ch.c
constants.c
cyberstorm.c
cyberstormII.c
dc395x.c
dc395x.h
dec_esp.c
dmx3191d.c
dpt_i2o.c [SCSI] Switch some more scsi drivers to pci_get_device and refcounted pci structures 2006-09-23 20:32:52 -05:00
dpti.h
dtc.c
dtc.h
eata_generic.h [SCSI] eata_pio cleanup and PCI fix 2006-09-23 20:28:19 -05:00
eata_pio.c [SCSI] eata_pio cleanup and PCI fix 2006-09-23 20:28:19 -05:00
eata_pio.h
eata.c
esp.c
esp.h
fastlane.c
fcal.c
fcal.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h
gvp11.c [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
gvp11.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
hosts.c
hosts.h
hptiop.c
hptiop.h
ibmmca.c
ibmmca.h
ide-scsi.c [PATCH] Remove ->rq_status from struct request 2006-09-30 20:29:23 +02:00
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c
ipr.h
ips.c
ips.h
iscsi_tcp.c Merge mulgrave-w:git/scsi-misc-2.6 2006-09-23 15:33:43 -05:00
iscsi_tcp.h Merge mulgrave-w:git/scsi-misc-2.6 2006-09-23 15:33:43 -05:00
jazz_esp.c
Kconfig [PATCH] BLOCK: Make it possible to disable the block layer [try #6] 2006-09-30 20:52:31 +02:00
lasi700.c
libiscsi.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile Merge branch 'master' into upstream 2006-09-24 01:52:47 -04:00
mca_53c9x.c
megaraid.c [SCSI] megaraid: Make megaraid_ioctl() check copy_to_user() return value 2006-09-23 11:53:09 -05:00
megaraid.h
mesh.c fix broken/dubious driver suspend() methods 2006-09-25 21:08:37 -07:00
mesh.h
mvme16x.c
mvme16x.h
mvme147.c [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
mvme147.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR53C9x.c
NCR53C9x.h
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
oktagon_esp.c
oktagon_io.S
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pci2000.h
pluto.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
pluto.h
ppa.c
ppa.h
psi240i.c
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti_asm.c
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug version 1.80 2006-09-23 17:37:44 -05:00
scsi_debug.h
scsi_devinfo.c
scsi_error.c [PATCH] SCSI: lockdep annotation in scsi_send_eh_cmnd 2006-09-13 07:32:14 -07:00
scsi_ioctl.c
scsi_lib.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c
scsi_sysctl.c
scsi_sysfs.c
scsi_transport_api.h
scsi_transport_fc.c [SCSI] scsi_transport_fc: fixup netlink arguments 2006-09-23 22:07:20 -05:00
scsi_transport_iscsi.c
scsi_transport_sas.c
scsi_transport_spi.c [SCSI] SPI transport class: misc DV fixes 2006-09-23 20:53:53 -05:00
scsi_typedefs.h
scsi.c [PATCH] SCSI: scsi_done_q is unused 2006-09-30 20:31:11 +02:00
scsi.h
scsicam.c
sd.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
seagate.c
seagate.h
sg.c
sgiwd93.c [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
sim710.c [PATCH] EISA bus MODALIAS attributes support 2006-09-27 08:26:19 -07:00
sr_ioctl.c
sr_vendor.c
sr.c
sr.h
st_options.h
st.c
st.h
stex.c
sun3_NCR5380.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
sun3_scsi_vme.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
sun3_scsi.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
sun3_scsi.h
sun3x_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
wd33c93.c
wd33c93.h
wd7000.c
zalon.c