fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / md / dm-round-robin.c
index d002486..a348a97 100644 (file)
 
 #include <linux/slab.h>
 
+#define DM_MSG_PREFIX "multipath round-robin"
+
 /*-----------------------------------------------------------------
  * Path-handling code, paths are held in lists
  *---------------------------------------------------------------*/
 struct path_info {
        struct list_head list;
-       struct path *path;
+       struct dm_path *path;
        unsigned repeat_count;
 };
 
@@ -78,7 +80,7 @@ static void rr_destroy(struct path_selector *ps)
        ps->context = NULL;
 }
 
-static int rr_status(struct path_selector *ps, struct path *path,
+static int rr_status(struct path_selector *ps, struct dm_path *path,
                     status_type_t type, char *result, unsigned int maxlen)
 {
        struct path_info *pi;
@@ -104,7 +106,7 @@ static int rr_status(struct path_selector *ps, struct path *path,
  * Called during initialisation to register each path with an
  * optional repeat_count.
  */
-static int rr_add_path(struct path_selector *ps, struct path *path,
+static int rr_add_path(struct path_selector *ps, struct dm_path *path,
                       int argc, char **argv, char **error)
 {
        struct selector *s = (struct selector *) ps->context;
@@ -134,12 +136,12 @@ static int rr_add_path(struct path_selector *ps, struct path *path,
 
        path->pscontext = pi;
 
-       list_add(&pi->list, &s->valid_paths);
+       list_add_tail(&pi->list, &s->valid_paths);
 
        return 0;
 }
 
-static void rr_fail_path(struct path_selector *ps, struct path *p)
+static void rr_fail_path(struct path_selector *ps, struct dm_path *p)
 {
        struct selector *s = (struct selector *) ps->context;
        struct path_info *pi = p->pscontext;
@@ -147,7 +149,7 @@ static void rr_fail_path(struct path_selector *ps, struct path *p)
        list_move(&pi->list, &s->invalid_paths);
 }
 
-static int rr_reinstate_path(struct path_selector *ps, struct path *p)
+static int rr_reinstate_path(struct path_selector *ps, struct dm_path *p)
 {
        struct selector *s = (struct selector *) ps->context;
        struct path_info *pi = p->pscontext;
@@ -157,7 +159,7 @@ static int rr_reinstate_path(struct path_selector *ps, struct path *p)
        return 0;
 }
 
-static struct path *rr_select_path(struct path_selector *ps,
+static struct dm_path *rr_select_path(struct path_selector *ps,
                                   unsigned *repeat_count)
 {
        struct selector *s = (struct selector *) ps->context;
@@ -191,9 +193,9 @@ static int __init dm_rr_init(void)
        int r = dm_register_path_selector(&rr_ps);
 
        if (r < 0)
-               DMERR("round-robin: register failed %d", r);
+               DMERR("register failed %d", r);
 
-       DMINFO("dm-round-robin version 1.0.0 loaded");
+       DMINFO("version 1.0.0 loaded");
 
        return r;
 }