The number of targets in a table needs to be rounded up to
KEYS_PER_NODE.  [Kevin Corry]
--- diff/drivers/md/dm-table.c	2003-10-16 10:45:14.000000000 +0100
+++ source/drivers/md/dm-table.c	2003-11-05 17:13:04.000000000 +0000
@@ -123,6 +123,7 @@
 	INIT_LIST_HEAD(&t->devices);
 	atomic_set(&t->holders, 1);
 
+	num_targets = dm_round_up(num_targets, KEYS_PER_NODE);
 
 	/* allocate both the target array and offset array at once */
 	t->highs = (sector_t *) vcalloc(sizeof(struct dm_target) +
