Export it, as it will be used by multipathd and libmpathpersist.

Signed-off-by: Martin Wilck <[email protected]>
---
 libmultipath/devmapper.c          | 13 +++++++++----
 libmultipath/devmapper.h          |  2 ++
 libmultipath/libmultipath.version |  1 +
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
index 806ffb8..5f6c0c8 100644
--- a/libmultipath/devmapper.c
+++ b/libmultipath/devmapper.c
@@ -829,6 +829,11 @@ int dm_get_map(const char *name, unsigned long long *size, 
char **outparams)
        }
 }
 
+bool is_mpath_uuid(const char uuid[DM_UUID_LEN])
+{
+       return !strncmp(uuid, UUID_PREFIX, UUID_PREFIX_LEN);
+}
+
 /**
  * dm_get_wwid(): return WWID for a multipath map
  * @returns:
@@ -845,7 +850,7 @@ int dm_get_wwid(const char *name, char *uuid, int uuid_len)
        if (rc != DMP_OK)
                return rc;
 
-       if (!strncmp(tmp, UUID_PREFIX, UUID_PREFIX_LEN))
+       if (is_mpath_uuid(tmp))
                strlcpy(uuid, tmp + UUID_PREFIX_LEN, uuid_len);
        else {
                uuid[0] = '\0';
@@ -970,7 +975,7 @@ int dm_is_mpath(const char *name)
                               (mapid_t) { .str = name },
                               (mapinfo_t) { .uuid = uuid, .tgt_type = 
TGT_MPATH });
 
-       if (rc != DMP_OK || strncmp(uuid, UUID_PREFIX, UUID_PREFIX_LEN))
+       if (rc != DMP_OK || !is_mpath_uuid(uuid))
                return DM_IS_MPATH_NO;
        else
                return DM_IS_MPATH_YES;
@@ -1065,7 +1070,7 @@ int _dm_flush_map (const char *mapname, int flags, int 
retries)
                                  .uuid = uuid,
                                  .tgt_type = TGT_MPATH,
                                  .target = &params }) != DMP_OK
-           || strncmp(uuid, UUID_PREFIX, UUID_PREFIX_LEN))
+           || !is_mpath_uuid(uuid))
                return DM_FLUSH_OK; /* nothing to do */
 
        /* if the device currently has no partitions, do not
@@ -1309,7 +1314,7 @@ struct multipath *dm_get_multipath(const char *name)
                          }) != DMP_OK)
                return NULL;
 
-       if (strncmp(uuid, UUID_PREFIX, UUID_PREFIX_LEN))
+       if (!is_mpath_uuid(uuid))
                return NULL;
 
        strlcpy(mpp->wwid, uuid + UUID_PREFIX_LEN, sizeof(mpp->wwid));
diff --git a/libmultipath/devmapper.h b/libmultipath/devmapper.h
index db5c5fd..a2b2837 100644
--- a/libmultipath/devmapper.h
+++ b/libmultipath/devmapper.h
@@ -131,6 +131,8 @@ enum {
        DM_IS_MPATH_YES,
        DM_IS_MPATH_ERR,
 };
+
+bool is_mpath_uuid(const char uuid[DM_UUID_LEN]);
 int dm_is_mpath(const char *name);
 
 enum {
diff --git a/libmultipath/libmultipath.version 
b/libmultipath/libmultipath.version
index 7d3ff63..5b8f9e0 100644
--- a/libmultipath/libmultipath.version
+++ b/libmultipath/libmultipath.version
@@ -127,6 +127,7 @@ global:
        init_foreign;
        init_prio;
        io_err_stat_handle_pathfail;
+       is_mpath_uuid;
        is_path_valid;
        libmp_dm_task_create;
        libmp_get_version;
-- 
2.45.2


Reply via email to