From 3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 4 Nov 2005 08:43:35 +0100 Subject: [PATCH 1/2] [BLOCK] Move all core block layer code to new block/ directory drivers/block/ is right now a mix of core and driver parts. Lets move the core parts to a new top level directory. Al will move the fs/ related block parts to block/ next. Signed-off-by: Jens Axboe --- Makefile | 2 +- block/Kconfig | 14 ++++++++++++++ {drivers/block => block}/Kconfig.iosched | 0 block/Makefile | 10 ++++++++++ {drivers/block => block}/as-iosched.c | 0 {drivers/block => block}/cfq-iosched.c | 0 {drivers/block => block}/deadline-iosched.c | 0 {drivers/block => block}/elevator.c | 0 {drivers/block => block}/genhd.c | 0 {drivers/block => block}/ioctl.c | 0 {drivers/block => block}/ll_rw_blk.c | 0 {drivers/block => block}/noop-iosched.c | 0 {drivers/block => block}/scsi_ioctl.c | 0 drivers/block/Kconfig | 12 ------------ drivers/block/Makefile | 14 -------------- init/Kconfig | 4 ++++ 16 files changed, 29 insertions(+), 27 deletions(-) create mode 100644 block/Kconfig rename {drivers/block => block}/Kconfig.iosched (100%) create mode 100644 block/Makefile rename {drivers/block => block}/as-iosched.c (100%) rename {drivers/block => block}/cfq-iosched.c (100%) rename {drivers/block => block}/deadline-iosched.c (100%) rename {drivers/block => block}/elevator.c (100%) rename {drivers/block => block}/genhd.c (100%) rename {drivers/block => block}/ioctl.c (100%) rename {drivers/block => block}/ll_rw_blk.c (100%) rename {drivers/block => block}/noop-iosched.c (100%) rename {drivers/block => block}/scsi_ioctl.c (100%) diff --git a/Makefile b/Makefile index 79601320ac3e..a0270c5c3f33 100644 --- a/Makefile +++ b/Makefile @@ -582,7 +582,7 @@ export MODLIB ifeq ($(KBUILD_EXTMOD),) -core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ +core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ diff --git a/block/Kconfig b/block/Kconfig new file mode 100644 index 000000000000..eb48edb80c1d --- /dev/null +++ b/block/Kconfig @@ -0,0 +1,14 @@ +# +# Block layer core configuration +# +#XXX - it makes sense to enable this only for 32-bit subarch's, not for x86_64 +#for instance. +config LBD + bool "Support for Large Block Devices" + depends on X86 || (MIPS && 32BIT) || PPC32 || ARCH_S390_31 || SUPERH || UML + help + Say Y here if you want to attach large (bigger than 2TB) discs to + your machine, or if you want to have a raid or loopback device + bigger than 2TB. Otherwise say N. + +source block/Kconfig.iosched diff --git a/drivers/block/Kconfig.iosched b/block/Kconfig.iosched similarity index 100% rename from drivers/block/Kconfig.iosched rename to block/Kconfig.iosched diff --git a/block/Makefile b/block/Makefile new file mode 100644 index 000000000000..7e4f93e2b44e --- /dev/null +++ b/block/Makefile @@ -0,0 +1,10 @@ +# +# Makefile for the kernel block layer +# + +obj-y := elevator.o ll_rw_blk.o ioctl.o genhd.o scsi_ioctl.o + +obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o +obj-$(CONFIG_IOSCHED_AS) += as-iosched.o +obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o +obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o diff --git a/drivers/block/as-iosched.c b/block/as-iosched.c similarity index 100% rename from drivers/block/as-iosched.c rename to block/as-iosched.c diff --git a/drivers/block/cfq-iosched.c b/block/cfq-iosched.c similarity index 100% rename from drivers/block/cfq-iosched.c rename to block/cfq-iosched.c diff --git a/drivers/block/deadline-iosched.c b/block/deadline-iosched.c similarity index 100% rename from drivers/block/deadline-iosched.c rename to block/deadline-iosched.c diff --git a/drivers/block/elevator.c b/block/elevator.c similarity index 100% rename from drivers/block/elevator.c rename to block/elevator.c diff --git a/drivers/block/genhd.c b/block/genhd.c similarity index 100% rename from drivers/block/genhd.c rename to block/genhd.c diff --git a/drivers/block/ioctl.c b/block/ioctl.c similarity index 100% rename from drivers/block/ioctl.c rename to block/ioctl.c diff --git a/drivers/block/ll_rw_blk.c b/block/ll_rw_blk.c similarity index 100% rename from drivers/block/ll_rw_blk.c rename to block/ll_rw_blk.c diff --git a/drivers/block/noop-iosched.c b/block/noop-iosched.c similarity index 100% rename from drivers/block/noop-iosched.c rename to block/noop-iosched.c diff --git a/drivers/block/scsi_ioctl.c b/block/scsi_ioctl.c similarity index 100% rename from drivers/block/scsi_ioctl.c rename to block/scsi_ioctl.c diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index 51b0af1cebee..7b1cd93892be 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -409,16 +409,6 @@ config BLK_DEV_INITRD for details. -#XXX - it makes sense to enable this only for 32-bit subarch's, not for x86_64 -#for instance. -config LBD - bool "Support for Large Block Devices" - depends on X86 || (MIPS && 32BIT) || PPC32 || ARCH_S390_31 || SUPERH || UML - help - Say Y here if you want to attach large (bigger than 2TB) discs to - your machine, or if you want to have a raid or loopback device - bigger than 2TB. Otherwise say N. - config CDROM_PKTCDVD tristate "Packet writing on CD/DVD media" depends on !UML @@ -455,8 +445,6 @@ config CDROM_PKTCDVD_WCACHE source "drivers/s390/block/Kconfig" -source "drivers/block/Kconfig.iosched" - config ATA_OVER_ETH tristate "ATA over Ethernet support" depends on NET diff --git a/drivers/block/Makefile b/drivers/block/Makefile index 1cf09a1c065b..3ec1f8df87b1 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -4,21 +4,7 @@ # 12 June 2000, Christoph Hellwig # Rewritten to use lists instead of if-statements. # -# Note : at this point, these files are compiled on all systems. -# In the future, some of these should be built conditionally. -# -# -# NOTE that ll_rw_blk.c must come early in linkage order - it starts the -# kblockd threads -# - -obj-y := elevator.o ll_rw_blk.o ioctl.o genhd.o scsi_ioctl.o - -obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o -obj-$(CONFIG_IOSCHED_AS) += as-iosched.o -obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o -obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o obj-$(CONFIG_MAC_FLOPPY) += swim3.o obj-$(CONFIG_BLK_DEV_FD) += floppy.o obj-$(CONFIG_BLK_DEV_FD98) += floppy98.o diff --git a/init/Kconfig b/init/Kconfig index 3dcbd5bfd498..ea097e0a9c02 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -501,3 +501,7 @@ config STOP_MACHINE help Need stop_machine() primitive. endmenu + +menu "Block layer" +source "block/Kconfig" +endmenu From c6ea2ba7b8acdb6c4a883b2d38607c8078dff4ee Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 4 Nov 2005 08:44:58 +0100 Subject: [PATCH 2/2] [BLOCK] iosched: fix setting of default io scheduler With the recent reorg of the io scheduler selection, it unfortunately became possible to select an io scheduler to be the default even if it wasn't builtin. Fix this by requiring the default scheduler to be builtin. Signed-off-by: Jens Axboe --- block/Kconfig.iosched | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched index 5b90d2fa63b8..f3b7753aac99 100644 --- a/block/Kconfig.iosched +++ b/block/Kconfig.iosched @@ -46,13 +46,13 @@ choice block devices. config DEFAULT_AS - bool "Anticipatory" if IOSCHED_AS + bool "Anticipatory" if IOSCHED_AS=y config DEFAULT_DEADLINE - bool "Deadline" if IOSCHED_DEADLINE + bool "Deadline" if IOSCHED_DEADLINE=y config DEFAULT_CFQ - bool "CFQ" if IOSCHED_CFQ + bool "CFQ" if IOSCHED_CFQ=y config DEFAULT_NOOP bool "No-op"