--- /dev/null
+--- linux-2.4.20-dm-10/drivers/md/dm-table.c Wed Mar 26 16:50:29 2003
++++ linux/drivers/md/dm-table.c Fri Mar 28 16:50:12 2003
+@@ -640,7 +640,7 @@
+ return &t->targets[(KEYS_PER_NODE * n) + k];
+ }
+
+-unsigned int dm_table_get_num_targets(struct dm_table *t)
++int dm_table_get_num_targets(struct dm_table *t)
+ {
+ return t->num_targets;
+ }
+--- linux-2.4.20-dm-10/drivers/md/dm.h Wed Mar 26 16:12:53 2003
++++ linux/drivers/md/dm.h Fri Mar 28 16:42:31 2003
+@@ -100,7 +100,7 @@
+ sector_t dm_table_get_size(struct dm_table *t);
+ struct dm_target *dm_table_get_target(struct dm_table *t, int index);
+ struct dm_target *dm_table_find_target(struct dm_table *t, sector_t sector);
+-unsigned int dm_table_get_num_targets(struct dm_table *t);
++int dm_table_get_num_targets(struct dm_table *t);
+ struct list_head *dm_table_get_devices(struct dm_table *t);
+ int dm_table_get_mode(struct dm_table *t);
+ void dm_table_add_wait_queue(struct dm_table *t, wait_queue_t *wq);
+--- linux-2.4.20-dm-10/include/linux/dm-ioctl.h Fri Mar 28 16:01:18 2003
++++ linux/include/linux/dm-ioctl.h Fri Mar 28 16:54:02 2003
+@@ -47,10 +47,10 @@
+ * relative to start of this struct */
+
+ uint32_t target_count; /* in/out */
+- uint32_t open_count; /* out */
++ int32_t open_count; /* out */
+ uint32_t flags; /* in/out */
+
+- __kernel_dev_t dev; /* in/out */
++ uint64_t dev; /* in/out */
+
+ char name[DM_NAME_LEN]; /* device name */
+ char uuid[DM_UUID_LEN]; /* unique identifier for
+@@ -62,9 +62,9 @@
+ * dm_ioctl.
+ */
+ struct dm_target_spec {
+- int32_t status; /* used when reading from kernel only */
+ uint64_t sector_start;
+- uint32_t length;
++ uint64_t length;
++ int32_t status; /* used when reading from kernel only */
+
+ /*
+ * Offset in bytes (from the start of this struct) to
+@@ -85,9 +85,9 @@
+ * Used to retrieve the target dependencies.
+ */
+ struct dm_target_deps {
+- uint32_t count;
+-
+- __kernel_dev_t dev[0]; /* out */
++ uint32_t count; /* Array size */
++ uint32_t padding; /* unused */
++ uint64_t dev[0]; /* out */
+ };
+
+ /*
+@@ -129,10 +129,10 @@
+ #define DM_TARGET_STATUS _IOWR(DM_IOCTL, DM_TARGET_STATUS_CMD, struct dm_ioctl)
+ #define DM_TARGET_WAIT _IOWR(DM_IOCTL, DM_TARGET_WAIT_CMD, struct dm_ioctl)
+
+-#define DM_VERSION_MAJOR 1
++#define DM_VERSION_MAJOR 3
+ #define DM_VERSION_MINOR 0
+-#define DM_VERSION_PATCHLEVEL 10
+-#define DM_VERSION_EXTRA "-ioctl (2003-03-27)"
++#define DM_VERSION_PATCHLEVEL 0
++#define DM_VERSION_EXTRA "-ioctl (2003-03-28)"
+
+ /* Status bits */
+ #define DM_READONLY_FLAG 0x00000001