From c62279a7551453b92437887efe420958e55ec90d Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Wed, 24 Oct 2001 10:52:10 +0000 Subject: [PATCH] o Updated 00_makefile o 00_bh-async-3 has been merge with vanilla --- driver/device-mapper/patches/00_bh-async-3 | 88 ---------------------- driver/device-mapper/patches/00_makefile | 24 ++---- 2 files changed, 8 insertions(+), 104 deletions(-) delete mode 100644 driver/device-mapper/patches/00_bh-async-3 diff --git a/driver/device-mapper/patches/00_bh-async-3 b/driver/device-mapper/patches/00_bh-async-3 deleted file mode 100644 index f997ae7c8..000000000 --- a/driver/device-mapper/patches/00_bh-async-3 +++ /dev/null @@ -1,88 +0,0 @@ -diff -urN 2.4.7pre6/fs/buffer.c bh_async/fs/buffer.c ---- 2.4.7pre6/fs/buffer.c Wed Jul 11 06:03:18 2001 -+++ bh_async/fs/buffer.c Thu Jul 12 07:55:08 2001 -@@ -827,10 +827,11 @@ - * that unlock the page.. - */ - spin_lock_irqsave(&page_uptodate_lock, flags); -+ mark_buffer_async(bh, 0); - unlock_buffer(bh); - tmp = bh->b_this_page; - while (tmp != bh) { -- if (tmp->b_end_io == end_buffer_io_async && buffer_locked(tmp)) -+ if (buffer_async(tmp) && buffer_locked(tmp)) - goto still_busy; - tmp = tmp->b_this_page; - } -@@ -862,8 +863,9 @@ - return; - } - --void set_buffer_async_io(struct buffer_head *bh) { -+inline void set_buffer_async_io(struct buffer_head *bh) { - bh->b_end_io = end_buffer_io_async ; -+ mark_buffer_async(bh, 1); - } - - /* -@@ -1553,7 +1555,7 @@ - /* Stage 2: lock the buffers, mark them clean */ - do { - lock_buffer(bh); -- bh->b_end_io = end_buffer_io_async; -+ set_buffer_async_io(bh); - get_bh(bh); - set_bit(BH_Uptodate, &bh->b_state); - clear_bit(BH_Dirty, &bh->b_state); -@@ -1755,7 +1757,7 @@ - for (i = 0; i < nr; i++) { - struct buffer_head * bh = arr[i]; - lock_buffer(bh); -- bh->b_end_io = end_buffer_io_async; -+ set_buffer_async_io(bh); - get_bh(bh); - } - -@@ -2200,7 +2202,7 @@ - lock_buffer(bh); - bh->b_blocknr = *(b++); - set_bit(BH_Mapped, &bh->b_state); -- bh->b_end_io = end_buffer_io_async; -+ set_buffer_async_io(bh); - get_bh(bh); - bh = bh->b_this_page; - } while (bh != head); -diff -urN 2.4.7pre6/include/linux/fs.h bh_async/include/linux/fs.h ---- 2.4.7pre6/include/linux/fs.h Wed Jul 11 06:03:19 2001 -+++ bh_async/include/linux/fs.h Thu Jul 12 07:54:26 2001 -@@ -215,6 +215,7 @@ - BH_New, /* 1 if the buffer is new and not yet written out */ - BH_Protected, /* 1 if the buffer is protected */ - BH_JBD, /* 1 if it has an attached journal_head */ -+ BH_Async, /* 1 if the buffer is under end_buffer_io_async I/O */ - - BH_PrivateStart,/* not a state bit, but the first bit available - * for private allocation by other entities -@@ -275,6 +276,7 @@ - #define buffer_mapped(bh) __buffer_state(bh,Mapped) - #define buffer_new(bh) __buffer_state(bh,New) - #define buffer_protected(bh) __buffer_state(bh,Protected) -+#define buffer_async(bh) __buffer_state(bh,Async) - - #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) - -@@ -1110,6 +1112,14 @@ - extern void FASTCALL(mark_buffer_dirty(struct buffer_head *bh)); - - #define atomic_set_buffer_dirty(bh) test_and_set_bit(BH_Dirty, &(bh)->b_state) -+ -+static inline void mark_buffer_async(struct buffer_head * bh, int on) -+{ -+ if (on) -+ set_bit(BH_Async, &bh->b_state); -+ else -+ clear_bit(BH_Async, &bh->b_state); -+} - - /* - * If an error happens during the make_request, this function diff --git a/driver/device-mapper/patches/00_makefile b/driver/device-mapper/patches/00_makefile index d7830a3a9..78942c1da 100644 --- a/driver/device-mapper/patches/00_makefile +++ b/driver/device-mapper/patches/00_makefile @@ -1,29 +1,21 @@ ---- linux-2.4.12/drivers/md/Makefile Wed Oct 17 13:07:45 2001 -+++ linux/drivers/md/Makefile Fri Oct 12 17:16:39 2001 -@@ -4,9 +4,10 @@ +--- linux/drivers/md/Makefile.old Wed Oct 24 10:41:48 2001 ++++ linux/drivers/md/Makefile Wed Oct 24 11:33:11 2001 +@@ -4,7 +4,7 @@ O_TARGET := mddev.o -export-objs := md.o xor.o -+export-objs := md.o xor.o dm-table.o dm-target.o ++export-objs := md.o xor.o dm-table.o dm-target.o dm-parse.o list-multi := lvm-mod.o lvm-mod-objs := lvm.o lvm-snap.o -+dm-mod-objs := dm.o dm-table.o dm-target.o dmfs-super.o dmfs-root.o dmfs-lv.o dmfs-tdir.o dmfs-table.o dmfs-error.o dmfs-status.o - # Note: link order is important. All raid personalities - # and xor.o must come before md.o, as they each initialise -@@ -20,8 +21,14 @@ +@@ -20,7 +20,8 @@ obj-$(CONFIG_MD_MULTIPATH) += multipath.o obj-$(CONFIG_BLK_DEV_MD) += md.o obj-$(CONFIG_BLK_DEV_LVM) += lvm-mod.o -+obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o -+obj-$(CONFIG_BLK_DEV_DM_LINEAR) += dm-linear.o +-obj-$(CONFIG_BLK_DEV_DM) += dm.o dm-table.o dm-target.o dm-fs.o dm-parse.o dm-linear.o ++obj-$(CONFIG_BLK_DEV_DM) += dm.o dm-table.o dm-target.o dm-fs.o \ ++ dm-parse.o dm-linear.o include $(TOPDIR)/Rules.make - lvm-mod.o: $(lvm-mod-objs) - $(LD) -r -o $@ $(lvm-mod-objs) -+ -+dm-mod.o: $(dm-mod-objs) -+ $(LD) -r -o $@ $(dm-mod-objs) -+