Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / md / dm-table.c
index 75fe949..8f56a54 100644 (file)
@@ -17,8 +17,6 @@
 #include <linux/mutex.h>
 #include <asm/atomic.h>
 
-#define DM_MSG_PREFIX "table"
-
 #define MAX_DEPTH 16
 #define NODE_SIZE L1_CACHE_BYTES
 #define KEYS_PER_NODE (NODE_SIZE / sizeof(sector_t))
@@ -239,44 +237,6 @@ int dm_table_create(struct dm_table **result, int mode,
        return 0;
 }
 
-int dm_create_error_table(struct dm_table **result, struct mapped_device *md)
-{
-       struct dm_table *t;
-       sector_t dev_size = 1;
-       int r;
-
-       /*
-        * Find current size of device.
-        * Default to 1 sector if inactive.
-        */
-       t = dm_get_table(md);
-       if (t) {
-               dev_size = dm_table_get_size(t);
-               dm_table_put(t);
-       }
-
-       r = dm_table_create(&t, FMODE_READ, 1, md);
-       if (r)
-               return r;
-
-       r = dm_table_add_target(t, "error", 0, dev_size, NULL);
-       if (r)
-               goto out;
-
-       r = dm_table_complete(t);
-       if (r)
-               goto out;
-
-       *result = t;
-
-out:
-       if (r)
-               dm_table_put(t);
-
-       return r;
-}
-EXPORT_SYMBOL_GPL(dm_create_error_table);
-
 static void free_devices(struct list_head *devices)
 {
        struct list_head *tmp, *next;
@@ -630,12 +590,6 @@ int dm_split_args(int *argc, char ***argvp, char *input)
        unsigned array_size = 0;
 
        *argc = 0;
-
-       if (!input) {
-               *argvp = NULL;
-               return 0;
-       }
-
        argv = realloc_argv(&array_size, argv);
        if (!argv)
                return -ENOMEM;
@@ -717,14 +671,15 @@ int dm_table_add_target(struct dm_table *t, const char *type,
        memset(tgt, 0, sizeof(*tgt));
 
        if (!len) {
-               DMERR("%s: zero-length target", dm_device_name(t->md));
+               tgt->error = "zero-length target";
+               DMERR("%s", tgt->error);
                return -EINVAL;
        }
 
        tgt->type = dm_get_target_type(type);
        if (!tgt->type) {
-               DMERR("%s: %s: unknown target type", dm_device_name(t->md),
-                     type);
+               tgt->error = "unknown target type";
+               DMERR("%s", tgt->error);
                return -EINVAL;
        }
 
@@ -761,7 +716,7 @@ int dm_table_add_target(struct dm_table *t, const char *type,
        return 0;
 
  bad:
-       DMERR("%s: %s: %s", dm_device_name(t->md), type, tgt->error);
+       DMERR("%s", tgt->error);
        dm_put_target_type(tgt->type);
        return r;
 }
@@ -847,7 +802,7 @@ sector_t dm_table_get_size(struct dm_table *t)
 
 struct dm_target *dm_table_get_target(struct dm_table *t, unsigned int index)
 {
-       if (index >= t->num_targets)
+       if (index > t->num_targets)
                return NULL;
 
        return t->targets + index;