o makefiles include snapshot code etc.
dmfs-super.c dmfs-suspend.c dmfs-table.c dmfs.h
COMMON=device-mapper.h dm-linear.c dm-stripe.c \
+ dm-mirror.c dm-origin.c dm-snapshot.c kcopyd.c \
dm-table.c dm-target.c dm.c dm.h
IOCTL=dm-ioctl.c
*/
static void dec_pending(struct buffer_head *bh, int uptodate)
{
- struct io_hook *ih = bh->b_private;
+ struct io_hook *ih = bh->b_bdev_private;
if (!uptodate && call_err_fn(ih, bh))
return;
wake_up(&ih->md->wait);
bh->b_end_io = ih->end_io;
- bh->b_private = ih->context;
+ bh->b_bdev_private = ih->context;
free_io_hook(ih);
bh->b_end_io(bh, uptodate);
ih->rw = rw;
ih->target = ti;
ih->end_io = bh->b_end_io;
- ih->context = bh->b_private;
+ ih->context = bh->b_bdev_private;
r = fn(bh, rw, context);
/* hook the end io request fn */
atomic_inc(&md->pending);
bh->b_end_io = dec_pending;
- bh->b_private = ih;
+ bh->b_bdev_private = ih;
} else if (r == 0)
/* we don't need to hook */
return r;
if (put_user(kdev_t_to_nr(r_dev), &lvb->lv_dev) ||
- put_user(r_block, &lvb->lv_block))
+ put_user(r_block, &lvb->lv_block))
return -EFAULT;
return 0;
--- /dev/null
+diff -ruN linux-2.4.16/include/linux/fs.h linux/include/linux/fs.h
+--- linux-2.4.16/include/linux/fs.h Tue Feb 19 15:24:57 2002
++++ linux/include/linux/fs.h Thu Feb 21 12:34:42 2002
+@@ -257,7 +257,10 @@
+ char * b_data; /* pointer to data block */
+ struct page *b_page; /* the page this bh is mapped to */
+ void (*b_end_io)(struct buffer_head *bh, int uptodate); /* I/O completion */
+- void *b_private; /* reserved for b_end_io */
++ void *b_private; /* reserved for b_end_io, also used by ext3 */
++ void *b_bdev_private; /* a hack to get around ext3 using b_private
++ * after handing the buffer_head to the
++ * block layer */
+
+ unsigned long b_rsector; /* Real buffer location on disk */
+ wait_queue_head_t b_wait;
diff -ruN -X /home/thornber/packages/2.4/dontdiff linux/drivers/md/Makefile linux-dm/drivers/md/Makefile
--- linux/drivers/md/Makefile Fri Sep 14 22:22:18 2001
+++ linux-dm/drivers/md/Makefile Wed Oct 31 18:09:02 2001
-@@ -4,9 +4,11 @@
+@@ -4,9 +4,12 @@
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 kcopyd.o
list-multi := lvm-mod.o
lvm-mod-objs := lvm.o lvm-snap.o lvm-fs.o
+dm-mod-objs := dm.o dm-table.o dm-target.o dm-ioctl.o \
-+ dm-linear.o dm-stripe.o
++ dm-linear.o dm-stripe.o dm-snapshot.o \
++ dm-origin.o dm-mirror.o kcopyd.o
# Note: link order is important. All raid personalities
# and xor.o must come before md.o, as they each initialise
-@@ -20,8 +22,12 @@
+@@ -20,8 +23,12 @@
obj-$(CONFIG_MD_MULTIPATH) += multipath.o
obj-$(CONFIG_BLK_DEV_MD) += md.o
obj-$(CONFIG_BLK_DEV_LVM) += lvm-mod.o
--- /dev/null
+diff -ruN linux-2.4.17/include/linux/fs.h linux/include/linux/fs.h
+--- linux-2.4.17/include/linux/fs.h Tue Feb 19 15:24:57 2002
++++ linux/include/linux/fs.h Thu Feb 21 12:34:42 2002
+@@ -257,7 +257,10 @@
+ char * b_data; /* pointer to data block */
+ struct page *b_page; /* the page this bh is mapped to */
+ void (*b_end_io)(struct buffer_head *bh, int uptodate); /* I/O completion */
+- void *b_private; /* reserved for b_end_io */
++ void *b_private; /* reserved for b_end_io, also used by ext3 */
++ void *b_bdev_private; /* a hack to get around ext3 using b_private
++ * after handing the buffer_head to the
++ * block layer */
+
+ unsigned long b_rsector; /* Real buffer location on disk */
+ wait_queue_head_t b_wait;
diff -ruN linux-2.4.17/drivers/md/Makefile linux/drivers/md/Makefile
--- linux-2.4.17/drivers/md/Makefile Thu Dec 6 15:57:55 2001
+++ linux/drivers/md/Makefile Wed Jan 2 19:25:16 2002
-@@ -4,9 +4,11 @@
+@@ -4,9 +4,12 @@
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 kcopyd.o
list-multi := lvm-mod.o
lvm-mod-objs := lvm.o lvm-snap.o lvm-fs.o
+dm-mod-objs := dm.o dm-table.o dm-target.o dm-ioctl.o \
-+ dm-linear.o dm-stripe.o
++ dm-linear.o dm-stripe.o dm-snapshot.o \
++ dm-origin.o dm-mirror.o kcopyd.o
# Note: link order is important. All raid personalities
# and xor.o must come before md.o, as they each initialise
-@@ -20,8 +22,12 @@
+@@ -20,8 +23,12 @@
obj-$(CONFIG_MD_MULTIPATH) += multipath.o
obj-$(CONFIG_BLK_DEV_MD) += md.o
obj-$(CONFIG_BLK_DEV_LVM) += lvm-mod.o