<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>