<div dir="ltr">Merged as commit b573878f76a893cece197b5969e54099a5fac905.<div>Merge rejects committed as 9c4be4c0d1b06c066098dafb5aeb914bae1f110b.</div><div><br></div><div>Thanks.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 18, 2016 at 9:50 PM, Bart Van Assche <span dir="ltr"><<a href="mailto:bart.vanassche@sandisk.com" target="_blank">bart.vanassche@sandisk.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This avoids that the sparse static analyzer complains about<br>
the "extern" keyword.<br>
<br>
Signed-off-by: Bart Van Assche <<a href="mailto:bart.vanassche@sandisk.com">bart.vanassche@sandisk.com</a>><br>
---<br>
 kpartx/devmapper.c                   | 18 ++++-----<br>
 kpartx/lopart.c                      | 15 +++-----<br>
 libmpathpersist/mpath_pr_<wbr>ioctl.c     |  2 +-<br>
 libmultipath/blacklist.c             |  9 ++---<br>
 libmultipath/callout.c               |  3 +-<br>
 libmultipath/checkers/cciss_<wbr>tur.c    |  3 +-<br>
 libmultipath/checkers/emc_<wbr>clariion.c |  3 +-<br>
 libmultipath/checkers/hp_sw.c        |  3 +-<br>
 libmultipath/checkers/rdac.c         |  3 +-<br>
 libmultipath/checkers/tur.c          |  3 +-<br>
 libmultipath/config.c                |  6 +--<br>
 libmultipath/configure.c             | 21 +++++-----<br>
 libmultipath/devmapper.c             | 49 +++++++++--------------<br>
 libmultipath/discovery.c             |  5 +--<br>
 libmultipath/dmparser.c              |  8 ++--<br>
 libmultipath/hwtable.c               |  3 +-<br>
 libmultipath/pgpolicies.c            | 23 +++++------<br>
 libmultipath/print.c                 | 55 ++++++++++----------------<br>
 libmultipath/propsel.c               | 75 ++++++++++++------------------<wbr>------<br>
 libmultipath/structs.c               | 21 ++++------<br>
 libmultipath/structs_vec.c           | 49 +++++++++--------------<br>
 libmultipath/switchgroup.c           |  6 +--<br>
 libmultipath/uevent.c                | 12 ++----<br>
 libmultipath/util.c                  |  3 +-<br>
 24 files changed, 145 insertions(+), 253 deletions(-)<br>
<br>
diff --git a/kpartx/devmapper.c b/kpartx/devmapper.c<br>
index 474d879..2acae25 100644<br>
--- a/kpartx/devmapper.c<br>
+++ b/kpartx/devmapper.c<br>
@@ -14,8 +14,7 @@<br>
 #define MAX_PREFIX_LEN 8<br>
 #define PARAMS_SIZE 1024<br>
<br>
-extern int<br>
-dm_prereq (char * str, int x, int y, int z)<br>
+int dm_prereq(char * str, int x, int y, int z)<br>
 {<br>
        int r = 1;<br>
        struct dm_task *dmt;<br>
@@ -52,8 +51,8 @@ out:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_simplecmd (int task, const char *name, int no_flush, uint16_t udev_flags) {<br>
+int dm_simplecmd(int task, const char *name, int no_flush, uint16_t udev_flags)<br>
+{<br>
        int r = 0;<br>
        int udev_wait_flag = (task == DM_DEVICE_RESUME ||<br>
                              task == DM_DEVICE_REMOVE);<br>
@@ -90,10 +89,10 @@ out:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_addmap (int task, const char *name, const char *target,<br>
-          const char *params, uint64_t size, int ro, const char *uuid, int part,<br>
-          mode_t mode, uid_t uid, gid_t gid) {<br>
+int dm_addmap(int task, const char *name, const char *target,<br>
+             const char *params, uint64_t size, int ro, const char *uuid,<br>
+             int part, mode_t mode, uid_t uid, gid_t gid)<br>
+{<br>
        int r = 0;<br>
        struct dm_task *dmt;<br>
        char *prefixed_uuid = NULL;<br>
@@ -154,8 +153,7 @@ addout:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_map_present (char * str, char **uuid)<br>
+int dm_map_present(char * str, char **uuid)<br>
 {<br>
        int r = 0;<br>
        struct dm_task *dmt;<br>
diff --git a/kpartx/lopart.c b/kpartx/lopart.c<br>
index 14af34f..2eb3f63 100644<br>
--- a/kpartx/lopart.c<br>
+++ b/kpartx/lopart.c<br>
@@ -62,8 +62,7 @@ xstrdup (const char *s)<br>
        return t;<br>
 }<br>
<br>
-extern int<br>
-is_loop_device (const char *device)<br>
+int is_loop_device(const char *device)<br>
 {<br>
        struct stat statbuf;<br>
        int loopmajor;<br>
@@ -96,8 +95,7 @@ is_loop_device (const char *device)<br>
<br>
 #define SIZE(a) (sizeof(a)/sizeof(a[0]))<br>
<br>
-extern char *<br>
-find_loop_by_file (const char * filename)<br>
+char *find_loop_by_file(const char *filename)<br>
 {<br>
        DIR *dir;<br>
        struct dirent *dent;<br>
@@ -144,8 +142,7 @@ find_loop_by_file (const char * filename)<br>
        return found;<br>
 }<br>
<br>
-extern char *<br>
-find_unused_loop_device (void)<br>
+char *find_unused_loop_device(void)<br>
 {<br>
        char dev[20], *next_loop_dev = NULL;<br>
        int fd, next_loop = 0, somedev = 0, someloop = 0, loop_known = 0;<br>
@@ -231,8 +228,7 @@ find_unused_loop_device (void)<br>
        return NULL;<br>
 }<br>
<br>
-extern int<br>
-set_loop (const char *device, const char *file, int offset, int *loopro)<br>
+int set_loop(const char *device, const char *file, int offset, int *loopro)<br>
 {<br>
        struct loop_info loopinfo;<br>
        int fd, ffd, mode;<br>
@@ -284,8 +280,7 @@ set_loop (const char *device, const char *file, int offset, int *loopro)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-del_loop (const char *device)<br>
+int del_loop(const char *device)<br>
 {<br>
        int retries = 5;<br>
        int fd;<br>
diff --git a/libmpathpersist/mpath_pr_<wbr>ioctl.c b/libmpathpersist/mpath_pr_<wbr>ioctl.c<br>
index 8b9ac3d..31b2fe6 100644<br>
--- a/libmpathpersist/mpath_pr_<wbr>ioctl.c<br>
+++ b/libmpathpersist/mpath_pr_<wbr>ioctl.c<br>
@@ -36,7 +36,7 @@ void decode_transport_id(struct prin_fulldescr *fdesc, unsigned char * p, int le<br>
 int get_prin_length(int rq_servact);<br>
 int mpath_isLittleEndian(void);<br>
<br>
-extern unsigned int mpath_mx_alloc_len;<br>
+unsigned int mpath_mx_alloc_len;<br>
<br>
 int prout_do_scsi_ioctl(char * dev, int rq_servact, int rq_scope,<br>
                unsigned int rq_type, struct prout_param_descriptor *paramp, int noisy)<br>
diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c<br>
index f6c4506..d59d37e 100644<br>
--- a/libmultipath/blacklist.c<br>
+++ b/libmultipath/blacklist.c<br>
@@ -13,8 +13,7 @@<br>
 #include "config.h"<br>
 #include "blacklist.h"<br>
<br>
-extern int<br>
-store_ble (vector blist, char * str, int origin)<br>
+int store_ble(vector blist, char * str, int origin)<br>
 {<br>
        struct blentry * ble;<br>
<br>
@@ -47,8 +46,7 @@ out:<br>
 }<br>
<br>
<br>
-extern int<br>
-alloc_ble_device (vector blist)<br>
+int alloc_ble_device(vector blist)<br>
 {<br>
        struct blentry_device * ble = MALLOC(sizeof(struct blentry_device));<br>
<br>
@@ -63,8 +61,7 @@ alloc_ble_device (vector blist)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-set_ble_device (vector blist, char * vendor, char * product, int origin)<br>
+int set_ble_device(vector blist, char * vendor, char * product, int origin)<br>
 {<br>
        struct blentry_device * ble;<br>
<br>
diff --git a/libmultipath/callout.c b/libmultipath/callout.c<br>
index 4d1b067..dc18e02 100644<br>
--- a/libmultipath/callout.c<br>
+++ b/libmultipath/callout.c<br>
@@ -137,8 +137,7 @@ int execute_program(char *path, char *value, int len)<br>
        return retval;<br>
 }<br>
<br>
-extern int<br>
-apply_format (char * string, char * cmd, struct path * pp)<br>
+int apply_format(char * string, char * cmd, struct path * pp)<br>
 {<br>
        char * pos;<br>
        char * dst;<br>
diff --git a/libmultipath/checkers/cciss_<wbr>tur.c b/libmultipath/checkers/cciss_<wbr>tur.c<br>
index a0ffffe..9d79f96 100644<br>
--- a/libmultipath/checkers/cciss_<wbr>tur.c<br>
+++ b/libmultipath/checkers/cciss_<wbr>tur.c<br>
@@ -64,8 +64,7 @@ void libcheck_repair (struct checker * c)<br>
        return;<br>
 }<br>
<br>
-extern int<br>
-libcheck_check (struct checker * c)<br>
+int libcheck_check(struct checker * c)<br>
 {<br>
        int rc;<br>
        int ret;<br>
diff --git a/libmultipath/checkers/emc_<wbr>clariion.c b/libmultipath/checkers/emc_<wbr>clariion.c<br>
index a7b9f86..9c1ffed 100644<br>
--- a/libmultipath/checkers/emc_<wbr>clariion.c<br>
+++ b/libmultipath/checkers/emc_<wbr>clariion.c<br>
@@ -50,8 +50,7 @@ struct emc_clariion_checker_LU_<wbr>context {<br>
        int inactive_snap;<br>
 };<br>
<br>
-extern void<br>
-hexadecimal_to_ascii(char * wwn, char *wwnstr)<br>
+void hexadecimal_to_ascii(char * wwn, char *wwnstr)<br>
 {<br>
        int i,j, nbl;<br>
<br>
diff --git a/libmultipath/checkers/hp_sw.<wbr>c b/libmultipath/checkers/hp_sw.<wbr>c<br>
index 0cc1111..6019c9d 100644<br>
--- a/libmultipath/checkers/hp_sw.<wbr>c<br>
+++ b/libmultipath/checkers/hp_sw.<wbr>c<br>
@@ -128,8 +128,7 @@ do_tur (int fd, unsigned int timeout)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-libcheck_check (struct checker * c)<br>
+int libcheck_check(struct checker * c)<br>
 {<br>
        char buff[MX_ALLOC_LEN];<br>
<br>
diff --git a/libmultipath/checkers/rdac.c b/libmultipath/checkers/rdac.c<br>
index 68682c8..a643a4a 100644<br>
--- a/libmultipath/checkers/rdac.c<br>
+++ b/libmultipath/checkers/rdac.c<br>
@@ -262,8 +262,7 @@ const char<br>
        }<br>
 }<br>
<br>
-extern int<br>
-libcheck_check (struct checker * c)<br>
+int libcheck_check(struct checker * c)<br>
 {<br>
        struct volume_access_inq inq;<br>
        int ret, inqfail;<br>
diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c<br>
index 92200aa..4d6c3c2 100644<br>
--- a/libmultipath/checkers/tur.c<br>
+++ b/libmultipath/checkers/tur.c<br>
@@ -314,8 +314,7 @@ static void copy_msg_to_checker(void *c_p, const char *msg)<br>
        strlcpy(c->message, msg, sizeof(c->message));<br>
 }<br>
<br>
-extern int<br>
-libcheck_check (struct checker * c)<br>
+int libcheck_check(struct checker * c)<br>
 {<br>
        struct tur_checker_context *ct = c->context;<br>
        struct timespec tsp;<br>
diff --git a/libmultipath/config.c b/libmultipath/config.c<br>
index 2d629ef..32b41a2 100644<br>
--- a/libmultipath/config.c<br>
+++ b/libmultipath/config.c<br>
@@ -125,8 +125,7 @@ find_hwe (vector hwtable, char * vendor, char * product, char * revision)<br>
        return ret;<br>
 }<br>
<br>
-extern struct mpentry *<br>
-find_mpe (vector mptable, char * wwid)<br>
+struct mpentry *find_mpe(vector mptable, char *wwid)<br>
 {<br>
        int i;<br>
        struct mpentry * mpe;<br>
@@ -141,8 +140,7 @@ find_mpe (vector mptable, char * wwid)<br>
        return NULL;<br>
 }<br>
<br>
-extern char *<br>
-get_mpe_wwid (vector mptable, char * alias)<br>
+char *get_mpe_wwid(vector mptable, char *alias)<br>
 {<br>
        int i;<br>
        struct mpentry * mpe;<br>
diff --git a/libmultipath/configure.c b/libmultipath/configure.c<br>
index d428099..e5cc5f1 100644<br>
--- a/libmultipath/configure.c<br>
+++ b/libmultipath/configure.c<br>
@@ -253,8 +253,7 @@ int rr_optimize_path_order(struct pathgroup *pgp)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-setup_map (struct multipath * mpp, char * params, int params_size)<br>
+int setup_map(struct multipath *mpp, char *params, int params_size)<br>
 {<br>
        struct pathgroup * pgp;<br>
        struct config *conf;<br>
@@ -505,8 +504,7 @@ select_action (struct multipath * mpp, vector curmp, int force_reload)<br>
        return;<br>
 }<br>
<br>
-extern int<br>
-reinstate_paths (struct multipath * mpp)<br>
+int reinstate_paths(struct multipath *mpp)<br>
 {<br>
        int i, j;<br>
        struct pathgroup * pgp;<br>
@@ -582,8 +580,7 @@ fail:<br>
 #define DOMAP_EXIST    2<br>
 #define DOMAP_DRY      3<br>
<br>
-extern int<br>
-domap (struct multipath * mpp, char * params, int is_daemon)<br>
+int domap(struct multipath *mpp, char *params, int is_daemon)<br>
 {<br>
        int r = DOMAP_FAIL;<br>
        struct config *conf;<br>
@@ -748,8 +745,8 @@ out:<br>
        return ret;<br>
 }<br>
<br>
-extern int<br>
-coalesce_paths (struct vectors * vecs, vector newmp, char * refwwid, int force_reload, enum mpath_cmds cmd)<br>
+int coalesce_paths(struct vectors *vecs, vector newmp, char *refwwid,<br>
+                  int force_reload, enum mpath_cmds cmd)<br>
 {<br>
        int r = 1;<br>
        int k, i;<br>
@@ -953,9 +950,8 @@ coalesce_paths (struct vectors * vecs, vector newmp, char * refwwid, int force_r<br>
  * 1 - failure<br>
  * 2 - blacklist<br>
  */<br>
-extern int<br>
-get_refwwid (enum mpath_cmds cmd, char * dev, enum devtypes dev_type,<br>
-            vector pathvec, char **wwid)<br>
+int get_refwwid(enum mpath_cmds cmd, char *dev, enum devtypes dev_type,<br>
+               vector pathvec, char **wwid)<br>
 {<br>
        int ret = 1;<br>
        struct path * pp;<br>
@@ -1126,7 +1122,8 @@ out:<br>
        return 1;<br>
 }<br>
<br>
-extern int reload_map(struct vectors *vecs, struct multipath *mpp, int refresh, int is_daemon)<br>
+int reload_map(struct vectors *vecs, struct multipath *mpp, int refresh,<br>
+              int is_daemon)<br>
 {<br>
        char params[PARAMS_SIZE] = {0};<br>
        struct path *pp;<br>
diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c<br>
index 5aea5b6..868d2c0 100644<br>
--- a/libmultipath/devmapper.c<br>
+++ b/libmultipath/devmapper.c<br>
@@ -94,8 +94,8 @@ dm_write_log (int level, const char *file, int line, const char *f, ...)<br>
        return;<br>
 }<br>
<br>
-extern void<br>
-dm_init(int v) {<br>
+void dm_init(int v)<br>
+{<br>
        dm_log_init(&dm_write_log);<br>
        dm_log_init_verbose(v + 3);<br>
 }<br>
@@ -200,8 +200,7 @@ dm_drv_prereq (void)<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-dm_prereq (void)<br>
+int dm_prereq(void)<br>
 {<br>
        if (dm_lib_prereq())<br>
                return 1;<br>
@@ -249,13 +248,13 @@ out:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_simplecmd_flush (int task, const char *name, uint16_t udev_flags) {<br>
+int dm_simplecmd_flush (int task, const char *name, uint16_t udev_flags)<br>
+{<br>
        return dm_simplecmd(task, name, 0, 1, udev_flags, 0);<br>
 }<br>
<br>
-extern int<br>
-dm_simplecmd_noflush (int task, const char *name, uint16_t udev_flags) {<br>
+int dm_simplecmd_noflush (int task, const char *name, uint16_t udev_flags)<br>
+{<br>
        return dm_simplecmd(task, name, 1, 1, udev_flags, 0);<br>
 }<br>
<br>
@@ -338,8 +337,8 @@ addout:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_addmap_create (struct multipath *mpp, char * params) {<br>
+int dm_addmap_create (struct multipath *mpp, char * params)<br>
+{<br>
        int ro;<br>
<br>
        for (ro = 0; ro <= 1; ro++) {<br>
@@ -369,8 +368,7 @@ dm_addmap_create (struct multipath *mpp, char * params) {<br>
 #define ADDMAP_RW 0<br>
 #define ADDMAP_RO 1<br>
<br>
-extern int<br>
-dm_addmap_reload (struct multipath *mpp, char *params, int flush)<br>
+int dm_addmap_reload(struct multipath *mpp, char *params, int flush)<br>
 {<br>
        int r;<br>
        uint16_t udev_flags = (flush ? 0 : MPATH_UDEV_RELOAD_FLAG) |<br>
@@ -397,8 +395,7 @@ dm_addmap_reload (struct multipath *mpp, char *params, int flush)<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_map_present (const char * str)<br>
+int dm_map_present(const char * str)<br>
 {<br>
        int r = 0;<br>
        struct dm_task *dmt;<br>
@@ -425,8 +422,7 @@ out:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_get_map(const char * name, unsigned long long * size, char * outparams)<br>
+int dm_get_map(const char *name, unsigned long long *size, char *outparams)<br>
 {<br>
        int r = 1;<br>
        struct dm_task *dmt;<br>
@@ -492,8 +488,7 @@ uuidout:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_get_uuid(char *name, char *uuid)<br>
+int dm_get_uuid(char *name, char *uuid)<br>
 {<br>
        char uuidtmp[WWID_SIZE];<br>
<br>
@@ -533,8 +528,7 @@ dm_compare_uuid(const char* mapname1, const char* mapname2)<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-dm_get_status(char * name, char * outstatus)<br>
+int dm_get_status(char *name, char *outstatus)<br>
 {<br>
        int r = 1;<br>
        struct dm_task *dmt;<br>
@@ -577,8 +571,7 @@ out:<br>
  *    0 : no match<br>
  *   -1 : empty map<br>
  */<br>
-extern int<br>
-dm_type(const char * name, char * type)<br>
+int dm_type(const char *name, char *type)<br>
 {<br>
        int r = 0;<br>
        struct dm_task *dmt;<br>
@@ -611,8 +604,7 @@ out:<br>
        return r;<br>
 }<br>
<br>
-extern int<br>
-dm_is_mpath(const char * name)<br>
+int dm_is_mpath(const char *name)<br>
 {<br>
        int r = 0;<br>
        struct dm_task *dmt;<br>
@@ -791,8 +783,7 @@ partmap_in_use(const char *name, void *data)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-_dm_flush_map (const char * mapname, int need_sync, int deferred_remove)<br>
+int _dm_flush_map(const char *mapname, int need_sync, int deferred_remove)<br>
 {<br>
        int r;<br>
<br>
@@ -844,8 +835,7 @@ dm_flush_map_nopaths(const char * mapname, int deferred_remove)<br>
<br>
 #endif<br>
<br>
-extern int<br>
-dm_suspend_and_flush_map (const char * mapname)<br>
+int dm_suspend_and_flush_map(const char *mapname)<br>
 {<br>
        int s = 0, queue_if_no_path = 0;<br>
        unsigned long long mapsize;<br>
@@ -884,8 +874,7 @@ dm_suspend_and_flush_map (const char * mapname)<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-dm_flush_maps (void)<br>
+int dm_flush_maps(void)<br>
 {<br>
        int r = 0;<br>
        struct dm_task *dmt;<br>
diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c<br>
index 756344f..786a7c0 100644<br>
--- a/libmultipath/discovery.c<br>
+++ b/libmultipath/discovery.c<br>
@@ -177,7 +177,7 @@ path_discovery (vector pathvec, int flag)<br>
 }<br>
<br>
 #define declare_sysfs_get_str(fname)                                   \<br>
-extern ssize_t                                                         \<br>
+ssize_t                                                                        \<br>
 sysfs_get_##fname (struct udev_device * udev, char * buff, size_t len) \<br>
 {                                                                      \<br>
        int l;                                                  \<br>
@@ -1714,8 +1714,7 @@ get_uid (struct path * pp, int path_state, struct udev_device *udev)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-pathinfo (struct path *pp, struct config *conf, int mask)<br>
+int pathinfo(struct path *pp, struct config *conf, int mask)<br>
 {<br>
        int path_state;<br>
<br>
diff --git a/libmultipath/dmparser.c b/libmultipath/dmparser.c<br>
index 87e8398..b504961 100644<br>
--- a/libmultipath/dmparser.c<br>
+++ b/libmultipath/dmparser.c<br>
@@ -140,9 +140,8 @@ assemble_map (struct multipath * mp, char * params, int len)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-disassemble_map (vector pathvec, char * params, struct multipath * mpp,<br>
-                int is_daemon)<br>
+int disassemble_map(vector pathvec, char *params, struct multipath *mpp,<br>
+                   int is_daemon)<br>
 {<br>
        char * word;<br>
        char * p;<br>
@@ -425,8 +424,7 @@ out:<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-disassemble_status (char * params, struct multipath * mpp)<br>
+int disassemble_status(char *params, struct multipath *mpp)<br>
 {<br>
        char * word;<br>
        char * p;<br>
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c<br>
index 340035e..afe6c13 100644<br>
--- a/libmultipath/hwtable.c<br>
+++ b/libmultipath/hwtable.c<br>
@@ -1106,8 +1106,7 @@ static struct hwentry default_hw[] = {<br>
        },<br>
 };<br>
<br>
-extern int<br>
-setup_default_hwtable (vector hw)<br>
+int setup_default_hwtable(vector hw)<br>
 {<br>
        int r = 0;<br>
        struct hwentry * hwe = default_hw;<br>
diff --git a/libmultipath/pgpolicies.c b/libmultipath/pgpolicies.c<br>
index 3064aab..4ae4afb 100644<br>
--- a/libmultipath/pgpolicies.c<br>
+++ b/libmultipath/pgpolicies.c<br>
@@ -13,8 +13,7 @@<br>
 #include "pgpolicies.h"<br>
 #include "switchgroup.h"<br>
<br>
-extern int<br>
-get_pgpolicy_id (char * str)<br>
+int get_pgpolicy_id(char * str)<br>
 {<br>
        if (0 == strncmp(str, "failover", 8))<br>
                return FAILOVER;<br>
@@ -30,8 +29,7 @@ get_pgpolicy_id (char * str)<br>
        return IOPOLICY_UNDEF;<br>
 }<br>
<br>
-extern int<br>
-get_pgpolicy_name (char * buff, int len, int id)<br>
+int get_pgpolicy_name(char * buff, int len, int id)<br>
 {<br>
        char * s;<br>
<br>
@@ -89,8 +87,8 @@ sort_pathgroups (struct multipath *mp) {<br>
 /*<br>
  * One path group per unique tgt_node_name present in the path vector<br>
  */<br>
-extern int<br>
-group_by_node_name (struct multipath * mp) {<br>
+int group_by_node_name(struct multipath * mp)<br>
+{<br>
        int i, j;<br>
        int * bitmap;<br>
        struct path * pp;<br>
@@ -165,8 +163,8 @@ out:<br>
 /*<br>
  * One path group per unique serial number present in the path vector<br>
  */<br>
-extern int<br>
-group_by_serial (struct multipath * mp) {<br>
+int group_by_serial(struct multipath * mp)<br>
+{<br>
        int i, j;<br>
        int * bitmap;<br>
        struct path * pp;<br>
@@ -237,8 +235,7 @@ out:<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-one_path_per_group (struct multipath * mp)<br>
+int one_path_per_group(struct multipath *mp)<br>
 {<br>
        int i;<br>
        struct path * pp;<br>
@@ -275,8 +272,7 @@ out:<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-one_group (struct multipath * mp)      /* aka multibus */<br>
+int one_group(struct multipath *mp)    /* aka multibus */<br>
 {<br>
        struct pathgroup * pgp;<br>
<br>
@@ -313,8 +309,7 @@ out:<br>
        return 1;<br>
 }<br>
<br>
-extern int<br>
-group_by_prio (struct multipath * mp)<br>
+int group_by_prio(struct multipath *mp)<br>
 {<br>
        int i;<br>
        unsigned int prio;<br>
diff --git a/libmultipath/print.c b/libmultipath/print.c<br>
index 865562b..5b03383 100644<br>
--- a/libmultipath/print.c<br>
+++ b/libmultipath/print.c<br>
@@ -942,8 +942,7 @@ snprint_pathgroup (char * line, int len, char * format,<br>
        return (c - line);<br>
 }<br>
<br>
-extern void<br>
-print_multipath_topology (struct multipath * mpp, int verbosity)<br>
+void print_multipath_topology(<wbr>struct multipath *mpp, int verbosity)<br>
 {<br>
        int resize;<br>
        char *buff = NULL;<br>
@@ -973,9 +972,8 @@ print_multipath_topology (struct multipath * mpp, int verbosity)<br>
        FREE(buff);<br>
 }<br>
<br>
-extern int<br>
-snprint_multipath_topology (char * buff, int len, struct multipath * mpp,<br>
-                           int verbosity)<br>
+int snprint_multipath_topology(<wbr>char *buff, int len, struct multipath *mpp,<br>
+                              int verbosity)<br>
 {<br>
        int j, i, fwd = 0;<br>
        struct path * pp = NULL;<br>
@@ -1247,8 +1245,7 @@ snprint_hwentry (struct config *conf, char * buff, int len, struct hwentry * hwe<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_hwtable (struct config *conf, char * buff, int len, vector hwtable)<br>
+int snprint_hwtable(struct config *conf, char *buff, int len, vector hwtable)<br>
 {<br>
        int fwd = 0;<br>
        int i;<br>
@@ -1300,8 +1297,7 @@ snprint_mpentry (struct config *conf, char * buff, int len, struct mpentry * mpe<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_mptable (struct config *conf, char * buff, int len, vector mptable)<br>
+int snprint_mptable(struct config *conf, char *buff, int len, vector mptable)<br>
 {<br>
        int fwd = 0;<br>
        int i;<br>
@@ -1326,8 +1322,8 @@ snprint_mptable (struct config *conf, char * buff, int len, vector mptable)<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_overrides (struct config *conf, char * buff, int len, struct hwentry *overrides)<br>
+int snprint_overrides(struct config *conf, char * buff, int len,<br>
+                     struct hwentry *overrides)<br>
 {<br>
        int fwd = 0;<br>
        int i;<br>
@@ -1356,8 +1352,7 @@ out:<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_defaults (struct config *conf, char * buff, int len)<br>
+int snprint_defaults(struct config *conf, char *buff, int len)<br>
 {<br>
        int fwd = 0;<br>
        int i;<br>
@@ -1438,8 +1433,7 @@ snprint_blacklist_devgroup (char *buff, int len, int *fwd, vector *vec)<br>
        return pos;<br>
 }<br>
<br>
-extern int<br>
-snprint_blacklist_report (struct config *conf, char * buff, int len)<br>
+int snprint_blacklist_report(<wbr>struct config *conf, char *buff, int len)<br>
 {<br>
        int threshold = MAX_LINE_LEN;<br>
        int fwd = 0;<br>
@@ -1501,8 +1495,7 @@ snprint_blacklist_report (struct config *conf, char * buff, int len)<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_blacklist (struct config *conf, char * buff, int len)<br>
+int snprint_blacklist(struct config *conf, char *buff, int len)<br>
 {<br>
        int i;<br>
        struct blentry * ble;<br>
@@ -1578,8 +1571,7 @@ snprint_blacklist (struct config *conf, char * buff, int len)<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_blacklist_except (struct config *conf, char * buff, int len)<br>
+int snprint_blacklist_except(<wbr>struct config *conf, char *buff, int len)<br>
 {<br>
        int i;<br>
        struct blentry * ele;<br>
@@ -1655,8 +1647,7 @@ snprint_blacklist_except (struct config *conf, char * buff, int len)<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_status (char * buff, int len, struct vectors *vecs)<br>
+int snprint_status(char *buff, int len, struct vectors *vecs)<br>
 {<br>
        int fwd = 0;<br>
        int i;<br>
@@ -1687,8 +1678,8 @@ snprint_status (char * buff, int len, struct vectors *vecs)<br>
        return fwd;<br>
 }<br>
<br>
-extern int<br>
-snprint_devices (struct config *conf, char * buff, int len, struct vectors *vecs)<br>
+int snprint_devices(struct config *conf, char * buff, int len,<br>
+                   struct vectors *vecs)<br>
 {<br>
        DIR *blkdir;<br>
        struct dirent *blkdev;<br>
@@ -1756,8 +1747,7 @@ snprint_devices (struct config *conf, char * buff, int len, struct vectors *vecs<br>
 /*<br>
  * stdout printing helpers<br>
  */<br>
-extern void<br>
-print_path (struct path * pp, char * style)<br>
+void print_path(struct path *pp, char *style)<br>
 {<br>
        char line[MAX_LINE_LEN];<br>
<br>
@@ -1766,8 +1756,7 @@ print_path (struct path * pp, char * style)<br>
        printf("%s", line);<br>
 }<br>
<br>
-extern void<br>
-print_multipath (struct multipath * mpp, char * style)<br>
+void print_multipath(struct multipath *mpp, char *style)<br>
 {<br>
        char line[MAX_LINE_LEN];<br>
<br>
@@ -1776,8 +1765,7 @@ print_multipath (struct multipath * mpp, char * style)<br>
        printf("%s", line);<br>
 }<br>
<br>
-extern void<br>
-print_pathgroup (struct pathgroup * pgp, char * style)<br>
+void print_pathgroup(struct pathgroup *pgp, char *style)<br>
 {<br>
        char line[MAX_LINE_LEN];<br>
<br>
@@ -1786,8 +1774,7 @@ print_pathgroup (struct pathgroup * pgp, char * style)<br>
        printf("%s", line);<br>
 }<br>
<br>
-extern void<br>
-print_map (struct multipath * mpp, char * params)<br>
+void print_map(struct multipath *mpp, char *params)<br>
 {<br>
        if (mpp->size && params)<br>
                printf("0 %llu %s %s\n",<br>
@@ -1795,14 +1782,12 @@ print_map (struct multipath * mpp, char * params)<br>
        return;<br>
 }<br>
<br>
-extern void<br>
-print_all_paths (vector pathvec, int banner)<br>
+void print_all_paths(vector pathvec, int banner)<br>
 {<br>
        print_all_paths_custo(pathvec, banner, PRINT_PATH_LONG);<br>
 }<br>
<br>
-extern void<br>
-print_all_paths_custo (vector pathvec, int banner, char *fmt)<br>
+void print_all_paths_custo(vector pathvec, int banner, char *fmt)<br>
 {<br>
        int i;<br>
        struct path * pp;<br>
diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c<br>
index ec1fd92..aa7352f 100644<br>
--- a/libmultipath/propsel.c<br>
+++ b/libmultipath/propsel.c<br>
@@ -81,8 +81,7 @@ do_attr_set(var, mp->mpe, shift, "(LUN setting)")<br>
 #define set_attr_conf(var, shift)                                      \<br>
 do_attr_set(var, conf, shift, "(config file default)")<br>
<br>
-extern int<br>
-select_mode (struct config *conf, struct multipath *mp)<br>
+int select_mode(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -95,8 +94,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_uid (struct config *conf, struct multipath *mp)<br>
+int select_uid(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -109,8 +107,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_gid (struct config *conf, struct multipath *mp)<br>
+int select_gid(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -128,8 +125,7 @@ out:<br>
  * traverse the configuration layers from most specific to most generic<br>
  * stop at first explicit setting found<br>
  */<br>
-extern int<br>
-select_rr_weight (struct config *conf, struct multipath * mp)<br>
+int select_rr_weight(struct config *conf, struct multipath * mp)<br>
 {<br>
        char *origin, buff[13];<br>
<br>
@@ -144,8 +140,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_pgfailback (struct config *conf, struct multipath * mp)<br>
+int select_pgfailback(struct config *conf, struct multipath * mp)<br>
 {<br>
        char *origin, buff[13];<br>
<br>
@@ -160,8 +155,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_pgpolicy (struct config *conf, struct multipath * mp)<br>
+int select_pgpolicy(struct config *conf, struct multipath * mp)<br>
 {<br>
        char *origin, buff[POLICY_NAME_SIZE];<br>
<br>
@@ -182,8 +176,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_selector (struct config *conf, struct multipath * mp)<br>
+int select_selector(struct config *conf, struct multipath * mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -236,8 +229,7 @@ out:<br>
        return (user_friendly_names == USER_FRIENDLY_NAMES_ON);<br>
 }<br>
<br>
-extern int<br>
-select_alias (struct config *conf, struct multipath * mp)<br>
+int select_alias(struct config *conf, struct multipath * mp)<br>
 {<br>
        char *origin = NULL;<br>
<br>
@@ -276,8 +268,7 @@ out:<br>
        return mp->alias ? 0 : 1;<br>
 }<br>
<br>
-extern int<br>
-select_features (struct config *conf, struct multipath * mp)<br>
+int select_features(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -302,8 +293,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_hwhandler (struct config *conf, struct multipath * mp)<br>
+int select_hwhandler(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -317,8 +307,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_checker(struct config *conf, struct path *pp)<br>
+int select_checker(struct config *conf, struct path *pp)<br>
 {<br>
        char *origin, *checker_name;<br>
        struct checker * c = &pp->checker;<br>
@@ -346,8 +335,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_getuid (struct config *conf, struct path * pp)<br>
+int select_getuid(struct config *conf, struct path *pp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -400,8 +388,7 @@ do {                                                                        \<br>
        }                                                               \<br>
 } while(0)<br>
<br>
-extern int<br>
-select_prio (struct config *conf, struct path * pp)<br>
+int select_prio(struct config *conf, struct path *pp)<br>
 {<br>
        char *origin;<br>
        struct mpentry * mpe;<br>
@@ -438,8 +425,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_no_path_retry(struct config *conf, struct multipath *mp)<br>
+int select_no_path_retry(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin = NULL;<br>
        char buff[12];<br>
@@ -497,8 +483,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_minio (struct config *conf, struct multipath * mp)<br>
+int select_minio(struct config *conf, struct multipath *mp)<br>
 {<br>
        unsigned int minv_dmrq[3] = {1, 1, 0};<br>
<br>
@@ -508,8 +493,7 @@ select_minio (struct config *conf, struct multipath * mp)<br>
                return select_minio_bio(conf, mp);<br>
 }<br>
<br>
-extern int<br>
-select_fast_io_fail(struct config *conf, struct multipath *mp)<br>
+int select_fast_io_fail(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin, buff[12];<br>
<br>
@@ -523,8 +507,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_dev_loss(struct config *conf, struct multipath *mp)<br>
+int select_dev_loss(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin, buff[12];<br>
<br>
@@ -539,8 +522,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_flush_on_last_del(<wbr>struct config *conf, struct multipath *mp)<br>
+int select_flush_on_last_del(<wbr>struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -557,8 +539,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_reservation_key (struct config *conf, struct multipath * mp)<br>
+int select_reservation_key(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin, buff[12];<br>
<br>
@@ -572,8 +553,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_retain_hwhandler (struct config *conf, struct multipath * mp)<br>
+int select_retain_hwhandler(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
        unsigned int minv_dm_retain[3] = {1, 5, 0};<br>
@@ -594,8 +574,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_detect_prio (struct config *conf, struct path * pp)<br>
+int select_detect_prio(struct config *conf, struct path *pp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -609,8 +588,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_deferred_remove (struct config *conf, struct multipath *mp)<br>
+int select_deferred_remove(struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin;<br>
<br>
@@ -635,8 +613,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_delay_watch_checks(<wbr>struct config *conf, struct multipath *mp)<br>
+int select_delay_watch_checks(<wbr>struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin, buff[12];<br>
<br>
@@ -651,8 +628,7 @@ out:<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-select_delay_wait_checks(<wbr>struct config *conf, struct multipath *mp)<br>
+int select_delay_wait_checks(<wbr>struct config *conf, struct multipath *mp)<br>
 {<br>
        char *origin, buff[12];<br>
<br>
@@ -668,8 +644,7 @@ out:<br>
<br>
 }<br>
<br>
-extern int<br>
-select_skip_kpartx (struct config *conf, struct multipath * mp)<br>
+int select_skip_kpartx (struct config *conf, struct multipath * mp)<br>
 {<br>
        char *origin;<br>
<br>
diff --git a/libmultipath/structs.c b/libmultipath/structs.c<br>
index e4bf4c6..ba9edf9 100644<br>
--- a/libmultipath/structs.c<br>
+++ b/libmultipath/structs.c<br>
@@ -201,8 +201,7 @@ alloc_multipath (void)<br>
        return mpp;<br>
 }<br>
<br>
-extern void<br>
-free_multipath_attributes (struct multipath * mpp)<br>
+void free_multipath_attributes(<wbr>struct multipath *mpp)<br>
 {<br>
        if (!mpp)<br>
                return;<br>
@@ -439,8 +438,7 @@ find_path_by_devt (vector pathvec, char * dev_t)<br>
        return NULL;<br>
 }<br>
<br>
-extern int<br>
-pathcountgr (struct pathgroup * pgp, int state)<br>
+int pathcountgr(struct pathgroup *pgp, int state)<br>
 {<br>
        struct path *pp;<br>
        int count = 0;<br>
@@ -453,8 +451,7 @@ pathcountgr (struct pathgroup * pgp, int state)<br>
        return count;<br>
 }<br>
<br>
-extern int<br>
-pathcount (struct multipath * mpp, int state)<br>
+int pathcount(struct multipath *mpp, int state)<br>
 {<br>
        struct pathgroup *pgp;<br>
        int count = 0;<br>
@@ -467,8 +464,7 @@ pathcount (struct multipath * mpp, int state)<br>
        return count;<br>
 }<br>
<br>
-extern int<br>
-pathcmp (struct pathgroup *pgp, struct pathgroup *cpgp)<br>
+int pathcmp(struct pathgroup *pgp, struct pathgroup *cpgp)<br>
 {<br>
        int i, j;<br>
        struct path *pp, *cpp;<br>
@@ -498,8 +494,7 @@ first_path (struct multipath * mpp)<br>
        return pgp?VECTOR_SLOT(pgp->paths, 0):NULL;<br>
 }<br>
<br>
-extern void<br>
-setup_feature(struct multipath * mpp, char *feature)<br>
+void setup_feature(struct multipath *mpp, char *feature)<br>
 {<br>
        if (!strncmp(feature, "queue_if_no_path", 16)) {<br>
                if (mpp->no_path_retry <= NO_PATH_RETRY_UNDEF)<br>
@@ -507,8 +502,7 @@ setup_feature(struct multipath * mpp, char *feature)<br>
        }<br>
 }<br>
<br>
-extern int<br>
-add_feature (char **f, char *n)<br>
+int add_feature(char **f, char *n)<br>
 {<br>
        int c = 0, d, l;<br>
        char *e, *p, *t;<br>
@@ -592,8 +586,7 @@ add_feature (char **f, char *n)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-remove_feature(char **f, char *o)<br>
+int remove_feature(char **f, char *o)<br>
 {<br>
        int c = 0, d, l;<br>
        char *e, *p, *n;<br>
diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c<br>
index e898528..22be8e0 100644<br>
--- a/libmultipath/structs_vec.c<br>
+++ b/libmultipath/structs_vec.c<br>
@@ -20,8 +20,7 @@<br>
 /*<br>
  * creates or updates mpp->paths reading mpp->pg<br>
  */<br>
-extern int<br>
-update_mpp_paths(struct multipath * mpp, vector pathvec)<br>
+int update_mpp_paths(struct multipath *mpp, vector pathvec)<br>
 {<br>
        struct pathgroup * pgp;<br>
        struct path * pp;<br>
@@ -45,8 +44,7 @@ update_mpp_paths(struct multipath * mpp, vector pathvec)<br>
        return 0;<br>
 }<br>
<br>
-extern int<br>
-adopt_paths (vector pathvec, struct multipath * mpp)<br>
+int adopt_paths(vector pathvec, struct multipath *mpp)<br>
 {<br>
        int i, ret;<br>
        struct path * pp;<br>
@@ -81,8 +79,7 @@ adopt_paths (vector pathvec, struct multipath * mpp)<br>
        return 0;<br>
 }<br>
<br>
-extern void<br>
-orphan_path (struct path * pp, const char *reason)<br>
+void orphan_path(struct path *pp, const char *reason)<br>
 {<br>
        condlog(3, "%s: orphan path, %s", pp->dev, reason);<br>
        pp->mpp = NULL;<br>
@@ -96,8 +93,7 @@ orphan_path (struct path * pp, const char *reason)<br>
        pp->fd = -1;<br>
 }<br>
<br>
-extern void<br>
-orphan_paths (vector pathvec, struct multipath * mpp)<br>
+void orphan_paths(vector pathvec, struct multipath *mpp)<br>
 {<br>
        int i;<br>
        struct path * pp;<br>
@@ -151,15 +147,13 @@ _remove_map (struct multipath * mpp, struct vectors * vecs,<br>
        free_multipath(mpp, KEEP_PATHS);<br>
 }<br>
<br>
-extern void<br>
-remove_map (struct multipath * mpp, struct vectors * vecs, int purge_vec)<br>
+void remove_map(struct multipath *mpp, struct vectors *vecs, int purge_vec)<br>
 {<br>
        _remove_map(mpp, vecs, KEEP_WAITER, purge_vec);<br>
 }<br>
<br>
-extern void<br>
-remove_map_and_stop_waiter (struct multipath * mpp, struct vectors * vecs,<br>
-                           int purge_vec)<br>
+void remove_map_and_stop_waiter(<wbr>struct multipath *mpp, struct vectors *vecs,<br>
+                               int purge_vec)<br>
 {<br>
        _remove_map(mpp, vecs, STOP_WAITER, purge_vec);<br>
 }<br>
@@ -182,14 +176,12 @@ _remove_maps (struct vectors * vecs, int stop_waiter)<br>
        vecs->mpvec = NULL;<br>
 }<br>
<br>
-extern void<br>
-remove_maps (struct vectors * vecs)<br>
+void remove_maps(struct vectors *vecs)<br>
 {<br>
        _remove_maps(vecs, KEEP_WAITER);<br>
 }<br>
<br>
-extern void<br>
-remove_maps_and_stop_waiters (struct vectors * vecs)<br>
+void remove_maps_and_stop_waiters(<wbr>struct vectors *vecs)<br>
 {<br>
        _remove_maps(vecs, STOP_WAITER);<br>
 }<br>
@@ -320,8 +312,8 @@ void sync_paths(struct multipath *mpp, vector pathvec)<br>
                pp->mpp = mpp;<br>
 }<br>
<br>
-extern int<br>
-update_multipath_strings (struct multipath *mpp, vector pathvec, int is_daemon)<br>
+int<br>
+update_multipath_strings(<wbr>struct multipath *mpp, vector pathvec, int is_daemon)<br>
 {<br>
        if (!mpp)<br>
                return 1;<br>
@@ -343,8 +335,7 @@ update_multipath_strings (struct multipath *mpp, vector pathvec, int is_daemon)<br>
        return 0;<br>
 }<br>
<br>
-extern void<br>
-set_no_path_retry(struct config *conf, struct multipath *mpp)<br>
+void set_no_path_retry(struct config *conf, struct multipath *mpp)<br>
 {<br>
        mpp->retry_tick = 0;<br>
        mpp->nr_active = pathcount(mpp, PATH_UP) + pathcount(mpp, PATH_GHOST);<br>
@@ -373,9 +364,8 @@ set_no_path_retry(struct config *conf, struct multipath *mpp)<br>
        }<br>
 }<br>
<br>
-extern int<br>
-__setup_multipath (struct vectors * vecs, struct multipath * mpp,<br>
-                  int reset, int is_daemon)<br>
+int __setup_multipath(struct vectors *vecs, struct multipath *mpp,<br>
+                     int reset, int is_daemon)<br>
 {<br>
        struct config *conf;<br>
<br>
@@ -425,8 +415,7 @@ out:<br>
        return 1;<br>
 }<br>
<br>
-extern struct multipath *<br>
-add_map_without_path (struct vectors * vecs, char * alias)<br>
+struct multipath *add_map_without_path (struct vectors *vecs, char *alias)<br>
 {<br>
        struct multipath * mpp = alloc_multipath();<br>
<br>
@@ -473,9 +462,8 @@ find_existing_alias (struct multipath * mpp,<br>
                }<br>
 }<br>
<br>
-extern struct multipath *<br>
-add_map_with_path (struct vectors * vecs,<br>
-                  struct path * pp, int add_vec)<br>
+struct multipath *add_map_with_path(struct vectors *vecs, struct path *pp,<br>
+                                   int add_vec)<br>
 {<br>
        struct multipath * mpp;<br>
        struct config *conf = NULL;<br>
@@ -514,8 +502,7 @@ out:<br>
        return NULL;<br>
 }<br>
<br>
-extern int<br>
-verify_paths(struct multipath * mpp, struct vectors * vecs)<br>
+int verify_paths(struct multipath *mpp, struct vectors *vecs)<br>
 {<br>
        struct path * pp;<br>
        int count = 0;<br>
diff --git a/libmultipath/switchgroup.c b/libmultipath/switchgroup.c<br>
index 031c3d7..9632ce2 100644<br>
--- a/libmultipath/switchgroup.c<br>
+++ b/libmultipath/switchgroup.c<br>
@@ -7,8 +7,7 @@<br>
 #include "structs.h"<br>
 #include "switchgroup.h"<br>
<br>
-extern void<br>
-path_group_prio_update (struct pathgroup * pgp)<br>
+void path_group_prio_update(struct pathgroup *pgp)<br>
 {<br>
        int i;<br>
        int priority = 0;<br>
@@ -32,8 +31,7 @@ path_group_prio_update (struct pathgroup * pgp)<br>
                pgp->priority = 0;<br>
 }<br>
<br>
-extern int<br>
-select_path_group (struct multipath * mpp)<br>
+int select_path_group(struct multipath *mpp)<br>
 {<br>
        int i;<br>
        int max_priority = 0;<br>
diff --git a/libmultipath/uevent.c b/libmultipath/uevent.c<br>
index 19b910f..7edcce1 100644<br>
--- a/libmultipath/uevent.c<br>
+++ b/libmultipath/uevent.c<br>
@@ -559,8 +559,7 @@ out:<br>
        return err;<br>
 }<br>
<br>
-extern int<br>
-uevent_get_major(struct uevent *uev)<br>
+int uevent_get_major(struct uevent *uev)<br>
 {<br>
        char *p, *q;<br>
        int i, major = -1;<br>
@@ -579,8 +578,7 @@ uevent_get_major(struct uevent *uev)<br>
        return major;<br>
 }<br>
<br>
-extern int<br>
-uevent_get_minor(struct uevent *uev)<br>
+int uevent_get_minor(struct uevent *uev)<br>
 {<br>
        char *p, *q;<br>
        int i, minor = -1;<br>
@@ -599,8 +597,7 @@ uevent_get_minor(struct uevent *uev)<br>
        return minor;<br>
 }<br>
<br>
-extern int<br>
-uevent_get_disk_ro(struct uevent *uev)<br>
+int uevent_get_disk_ro(struct uevent *uev)<br>
 {<br>
        char *p, *q;<br>
        int i, ro = -1;<br>
@@ -619,8 +616,7 @@ uevent_get_disk_ro(struct uevent *uev)<br>
        return ro;<br>
 }<br>
<br>
-extern char *<br>
-uevent_get_dm_name(struct uevent *uev)<br>
+char *uevent_get_dm_name(struct uevent *uev)<br>
 {<br>
        char *p = NULL;<br>
        int i;<br>
diff --git a/libmultipath/util.c b/libmultipath/util.c<br>
index 0a136b4..03a5738 100644<br>
--- a/libmultipath/util.c<br>
+++ b/libmultipath/util.c<br>
@@ -145,8 +145,7 @@ size_t strlcat(char *dst, const char *src, size_t size)<br>
        return bytes;<br>
 }<br>
<br>
-extern int<br>
-devt2devname (char *devname, int devname_len, char *devt)<br>
+int devt2devname(char *devname, int devname_len, char *devt)<br>
 {<br>
        FILE *fd;<br>
        unsigned int tmpmaj, tmpmin, major, minor;<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.10.1<br>
<br>
</font></span></blockquote></div><br></div>