Update multipath.conf.defaults
[multipath-tools/.git] / mpathpersist / main.c
index 0e21ec2..e3484b5 100644 (file)
@@ -7,6 +7,7 @@
 #include <vector.h>
 #include <structs.h>
 #include <getopt.h>
+#include <libudev.h>
 #include <mpath_persist.h>
 #include "main.h"
 #include <pthread.h>
@@ -68,7 +69,8 @@ int main (int argc, char * argv[])
        int noisy = 0;
        int num_transport =0;
        void *resp = NULL;
-       struct transportid * tmp; 
+       struct transportid * tmp;
+       struct udev *udev = NULL;
 
        if (optind == argc)
        {
@@ -84,8 +86,8 @@ int main (int argc, char * argv[])
                exit (1);
        }
 
-
-       mpath_lib_init();
+       udev = udev_new();
+       mpath_lib_init(udev);
        memset(transportids,0,MPATH_MX_TIDS);
 
        while (1)
@@ -260,7 +262,7 @@ int main (int argc, char * argv[])
        }
 
        /* set verbosity */
-       noisy = (loglevel >= 3) ? 1: 0;
+       noisy = (loglevel >= 3) ? 1 : hex;
        verbose = (loglevel >= 3)? 3: loglevel;
 
        if ((prout_flag + prin_flag) == 0)
@@ -400,9 +402,7 @@ int main (int argc, char * argv[])
        else if (prout)
        {
                int j; 
-               int t_arr_len=0;
                struct prout_param_descriptor *paramp;
-               t_arr_len = MPATH_MX_TID_LEN * num_transport;
 
                paramp= malloc(sizeof(struct prout_param_descriptor) + (sizeof(struct transportid *)*(MPATH_MX_TIDS )));
                
@@ -463,12 +463,13 @@ int main (int argc, char * argv[])
        if (res < 0)
        {
                mpath_lib_exit();
+               udev_unref(udev);
                return MPATH_PR_FILE_ERROR;
        }
 
 out :
        mpath_lib_exit();
-
+       udev_unref(udev);
        return (ret >= 0) ? ret : MPATH_PR_OTHER;
 }
 
@@ -738,7 +739,6 @@ mpath_print_transport_id(struct prin_fulldescr *fdesc)
 int
 construct_transportid(const char * lcp, struct transportid transid[], int num_transportids)
 {
-       unsigned char * tidp;
        int k = 0;
        int j, n, b, c, len, alen;
        const char * ecp;
@@ -794,7 +794,6 @@ construct_transportid(const char * lcp, struct transportid transid[], int num_tr
                if (ecp && (isip > ecp))
                        isip = NULL;
                len = ecp ? (ecp - lcp) : (int)strlen(lcp);
-               memset(&tidp, 0, 24);
                transid[num_transportids].format_code = (isip ? MPATH_WWUI_PORT_IDENTIFIER:MPATH_WWUI_DEVICE_NAME);
                transid[num_transportids].protocol_id = MPATH_PROTOCOL_ID_ISCSI;
                alen = len + 1; /* at least one trailing null */