change dd->dev to a kdev_t
--- diff/drivers/md/dm-table.c	2002-11-05 16:39:55.000000000 +0000
+++ source/drivers/md/dm-table.c	2002-11-07 16:21:07.000000000 +0000
@@ -253,7 +253,7 @@
 /*
  * Convert a device path to a dev_t.
  */
-static int lookup_device(const char *path, dev_t *dev)
+static int lookup_device(const char *path, kdev_t *dev)
 {
 	int r;
 	struct nameidata nd;
@@ -276,7 +276,7 @@
 		goto out;
 	}
 
-	*dev = kdev_t_to_nr(inode->i_rdev);
+	*dev = inode->i_rdev;
 
  out:
 	path_release(&nd);
@@ -286,13 +286,13 @@
 /*
  * See if we've already got a device in the list.
  */
-static struct dm_dev *find_device(struct list_head *l, dev_t dev)
+static struct dm_dev *find_device(struct list_head *l, kdev_t dev)
 {
 	struct list_head *tmp;
 
 	list_for_each(tmp, l) {
 		struct dm_dev *dd = list_entry(tmp, struct dm_dev, list);
-		if (dd->dev == dev)
+		if (kdev_same(dd->dev, dev))
 			return dd;
 	}
 
@@ -307,7 +307,7 @@
 	if (dd->bdev)
 		BUG();
 
-	dd->bdev = bdget(dd->dev);
+	dd->bdev = bdget(kdev_t_to_nr(dd->dev));
 	if (!dd->bdev)
 		return -ENOMEM;
 
@@ -330,13 +330,12 @@
  * If possible (ie. blk_size[major] is set), this checks an area
  * of a destination device is valid.
  */
-static int check_device_area(struct dm_dev *dd, sector_t start, sector_t len)
+static int check_device_area(kdev_t dev, sector_t start, sector_t len)
 {
 	int *sizes;
 	sector_t dev_size;
-	dev_t dev = dd->dev;
 
-	if (!(sizes = blk_size[MAJOR(dev)]) || !(dev_size = sizes[MINOR(dev)]))
+	if (!(sizes = blk_size[major(dev)]) || !(dev_size = sizes[minor(dev)]))
 		/* we don't know the device details,
 		 * so give the benefit of the doubt */
 		return 1;
@@ -344,7 +343,7 @@
 	/* convert to 512-byte sectors */
 	dev_size <<= 1;
 
- 	return ((start < dev_size) && (len <= (dev_size - start)));
+	return ((start < dev_size) && (len <= (dev_size - start)));
 }
 
 /*
@@ -378,7 +377,7 @@
 		  sector_t len, int mode, struct dm_dev **result)
 {
 	int r;
-	dev_t dev;
+	kdev_t dev;
 	struct dm_dev *dd;
 	int major, minor;
 	struct dm_table *t = ti->table;
@@ -388,7 +387,7 @@
 
 	if (sscanf(path, "%x:%x", &major, &minor) == 2) {
 		/* Extract the major/minor numbers */
-		dev = MKDEV(major, minor);
+		dev = mk_kdev(major, minor);
 	} else {
 		/* convert the path to a device */
 		if ((r = lookup_device(path, &dev)))
@@ -420,7 +419,7 @@
 	}
 	atomic_inc(&dd->count);
 
-	if (!check_device_area(dd, start, len)) {
+	if (!check_device_area(dd->dev, start, len)) {
 		DMWARN("device %s too small for target", path);
 		dm_put_device(ti, dd);
 		return -EINVAL;
--- diff/drivers/md/dm.h	2002-11-05 16:39:42.000000000 +0000
+++ source/drivers/md/dm.h	2002-11-07 16:01:56.000000000 +0000
@@ -39,7 +39,7 @@
 
 	atomic_t count;
 	int mode;
-	dev_t dev;
+	kdev_t dev;
 	struct block_device *bdev;
 };