libmultipath: trivial changes for -Wsign-compare
authorMartin Wilck <mwilck@suse.com>
Sat, 12 Oct 2019 21:28:32 +0000 (21:28 +0000)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Mon, 2 Mar 2020 08:18:19 +0000 (09:18 +0100)
All these are obious fixes.

Signed-off-by: Martin Wilck <mwilck@suse.com>
19 files changed:
libmultipath/alias.c
libmultipath/devmapper.c
libmultipath/discovery.c
libmultipath/file.c
libmultipath/foreign.c
libmultipath/parser.c
libmultipath/prioritizers/alua_rtpg.c
libmultipath/prioritizers/ana.c
libmultipath/structs.c
libmultipath/structs.h
libmultipath/sysfs.c
libmultipath/time-util.c
libmultipath/uevent.c
libmultipath/util.c
libmultipath/util.h
libmultipath/uxsock.c
libmultipath/wwids.c
multipathd/main.c
multipathd/pidfile.c

index 0fc9e54..14401ca 100644 (file)
@@ -256,7 +256,7 @@ allocate_binding(int fd, const char *wwid, int id, const char *prefix)
                        strerror(errno));
                return NULL;
        }
-       if (write(fd, buf, strlen(buf)) != strlen(buf)){
+       if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)){
                condlog(0, "Cannot write binding to bindings file : %s",
                        strerror(errno));
                /* clear partial write */
index f478ac2..4bff37d 100644 (file)
@@ -1561,7 +1561,8 @@ int dm_reassign(const char *mapname)
        struct dm_task *dmt;
        struct dm_info info;
        char dev_t[32], dm_dep[32];
-       int r = 0, i;
+       int r = 0;
+       unsigned int i;
 
        if (dm_dev_t(mapname, &dev_t[0], 32)) {
                condlog(3, "%s: failed to get device number", mapname);
index 5fbc2ac..c6c5743 100644 (file)
@@ -224,7 +224,7 @@ out:
 ssize_t                                                                        \
 sysfs_get_##fname (struct udev_device * udev, char * buff, size_t len) \
 {                                                                      \
-       int l;                                                  \
+       size_t l;                                                       \
        const char * attr;                                              \
        const char * devname;                                           \
                                                                        \
@@ -945,7 +945,10 @@ get_geometry(struct path *pp)
 static int
 parse_vpd_pg80(const unsigned char *in, char *out, size_t out_len)
 {
-       int len = get_unaligned_be16(&in[2]);
+       size_t len = get_unaligned_be16(&in[2]);
+
+       if (out_len == 0)
+               return 0;
 
        /*
         * Strip leading and trailing whitespace
@@ -958,8 +961,8 @@ parse_vpd_pg80(const unsigned char *in, char *out, size_t out_len)
        }
 
        if (len >= out_len) {
-               condlog(2, "vpd pg80 overflow, %d/%d bytes required",
-                       len + 1, (int)out_len);
+               condlog(2, "vpd pg80 overflow, %lu/%lu bytes required",
+                       len + 1, out_len);
                len = out_len - 1;
        }
        if (len > 0) {
@@ -1725,7 +1728,7 @@ get_prio (struct path * pp)
  * Returns a pointer to the position where "end" was moved to.
  */
 static char
-*skip_zeroes_backward(char* start, int *len, char *end)
+*skip_zeroes_backward(char* start, size_t *len, char *end)
 {
        char *p = end;
 
@@ -1751,10 +1754,10 @@ static char
  * Otherwise, returns 0.
  */
 static int
-fix_broken_nvme_wwid(struct path *pp, const char *value, int size)
+fix_broken_nvme_wwid(struct path *pp, const char *value, size_t size)
 {
        static const char _nvme[] = "nvme.";
-       int len, i;
+       size_t len, i;
        char mangled[256];
        char *p;
 
index 5cb06e1..72f1d24 100644 (file)
@@ -157,7 +157,8 @@ open_file(const char *file, int *can_write, const char *header)
                if (*can_write == 0)
                        goto fail;
                /* If file is empty, write the header */
-               size_t len = strlen(header);
+               int len = strlen(header);
+
                if (write(fd, header, len) != len) {
                        condlog(0,
                                "Cannot write header to file %s : %s", file,
index f05db16..0159a83 100644 (file)
@@ -172,7 +172,7 @@ static int _init_foreign(const char *multipath_dir, const char *enable)
        for (i = 0; i < r; i++) {
                const char *msg, *fn, *c;
                struct foreign *fgn;
-               int len, namesz;
+               size_t len, namesz;
 
                fn = di[i]->d_name;
 
index e00c5ff..d478b17 100644 (file)
@@ -124,7 +124,7 @@ find_keyword(vector keywords, vector v, char * name)
 {
        struct keyword *keyword;
        int i;
-       int len;
+       size_t len;
 
        if (!name || !keywords)
                return NULL;
index 271a019..bbf5aac 100644 (file)
@@ -371,7 +371,7 @@ get_asymmetric_access_state(const struct path *pp, unsigned int tpg,
        struct rtpg_data *      tpgd;
        struct rtpg_tpg_dscr *  dscr;
        int                     rc;
-       int                     buflen;
+       unsigned int            buflen;
        uint64_t                scsi_buflen;
        int fd = pp->fd;
 
index 9f7adfa..b5c7873 100644 (file)
@@ -62,7 +62,7 @@ static const char *anas_string[] = {
 static const char *aas_print_string(int rc)
 {
        rc &= 0xff;
-       if (rc >= 0 && rc < ARRAY_SIZE(anas_string) &&
+       if (rc >= 0 && rc < (int)ARRAY_SIZE(anas_string) &&
            anas_string[rc] != NULL)
                return anas_string[rc];
 
@@ -78,7 +78,8 @@ static int get_ana_state(__u32 nsid, __u32 anagrpid, void *ana_log,
        size_t offset = sizeof(struct nvme_ana_rsp_hdr);
        __u32 nr_nsids;
        size_t nsid_buf_size;
-       int i, j;
+       int i;
+       unsigned int j;
 
        for (i = 0; i < le16_to_cpu(hdr->ngrps); i++) {
                ana_desc = base + offset;
@@ -225,7 +226,7 @@ int getprio(struct path *pp, __attribute__((unused)) char *args,
        default:
                break;
        }
-       if (rc < 0 && -rc < ARRAY_SIZE(ana_errmsg))
+       if (rc < 0 && -rc < (int)ARRAY_SIZE(ana_errmsg))
                condlog(2, "%s: ANA error: %s", pp->dev, ana_errmsg[-rc]);
        else
                condlog(1, "%s: invalid ANA rc code %d", pp->dev, rc);
index bf7fdd7..f420ee5 100644 (file)
@@ -350,7 +350,7 @@ store_adaptergroup(vector adapters, struct adapter_group * agp)
 }
 
 struct multipath *
-find_mp_by_minor (const struct _vector *mpvec, int minor)
+find_mp_by_minor (const struct _vector *mpvec, unsigned int minor)
 {
        int i;
        struct multipath * mpp;
@@ -388,7 +388,7 @@ struct multipath *
 find_mp_by_alias (const struct _vector *mpvec, const char * alias)
 {
        int i;
-       int len;
+       size_t len;
        struct multipath * mpp;
 
        if (!mpvec)
index a3adf90..3665b89 100644 (file)
@@ -440,7 +440,8 @@ int add_pathgroup(struct multipath*, struct pathgroup *);
 struct multipath * find_mp_by_alias (const struct _vector *mp, const char *alias);
 struct multipath * find_mp_by_wwid (const struct _vector *mp, const char *wwid);
 struct multipath * find_mp_by_str (const struct _vector *mp, const char *wwid);
-struct multipath * find_mp_by_minor (const struct _vector *mp, int minor);
+struct multipath * find_mp_by_minor (const struct _vector *mp,
+                                    unsigned int minor);
 
 struct path * find_path_by_devt (const struct _vector *pathvec, const char *devt);
 struct path * find_path_by_dev (const struct _vector *pathvec, const char *dev);
index 65904d7..923b529 100644 (file)
@@ -88,7 +88,7 @@ ssize_t sysfs_attr_get_value(struct udev_device *dev, const char *attr_name,
                condlog(4, "read from %s failed: %s", devpath, strerror(errno));
                size = -errno;
                value[0] = '\0';
-       } else if (size == value_len) {
+       } else if (size == (ssize_t)value_len) {
                value[size - 1] = '\0';
                condlog(4, "overflow while reading from %s", devpath);
                size = 0;
@@ -146,7 +146,7 @@ ssize_t sysfs_bin_attr_get_value(struct udev_device *dev, const char *attr_name,
        if (size < 0) {
                condlog(4, "read from %s failed: %s", devpath, strerror(errno));
                size = -errno;
-       } else if (size == value_len) {
+       } else if (size == (ssize_t)value_len) {
                condlog(4, "overflow while reading from %s", devpath);
                size = 0;
        }
@@ -200,7 +200,7 @@ ssize_t sysfs_attr_set_value(struct udev_device *dev, const char *attr_name,
        if (size < 0) {
                condlog(4, "write to %s failed: %s", devpath, strerror(errno));
                size = -errno;
-       } else if (size < value_len) {
+       } else if (size < (ssize_t)value_len) {
                condlog(4, "tried to write %ld to %s. Wrote %ld",
                        (long)value_len, devpath, (long)size);
                size = 0;
index a3739a2..55f366c 100644 (file)
@@ -32,11 +32,11 @@ void pthread_cond_init_mono(pthread_cond_t *cond)
 void normalize_timespec(struct timespec *ts)
 {
        while (ts->tv_nsec < 0) {
-               ts->tv_nsec += 1000UL * 1000 * 1000;
+               ts->tv_nsec += 1000L * 1000 * 1000;
                ts->tv_sec--;
        }
-       while (ts->tv_nsec >= 1000UL * 1000 * 1000) {
-               ts->tv_nsec -= 1000UL * 1000 * 1000;
+       while (ts->tv_nsec >= 1000L * 1000 * 1000) {
+               ts->tv_nsec -= 1000L * 1000 * 1000;
                ts->tv_sec++;
        }
 }
index f128ced..d38e8a7 100644 (file)
@@ -108,7 +108,8 @@ uevq_cleanup(struct list_head *tmpq)
 static const char* uevent_get_env_var(const struct uevent *uev,
                                      const char *attr)
 {
-       int i, len;
+       int i;
+       size_t len;
        const char *p = NULL;
 
        if (attr == NULL)
index 28cbf4b..ccc0de2 100644 (file)
@@ -44,7 +44,7 @@ basenamecpy (const char *src, char *dst, size_t size)
        p = basename(src);
 
        for (e = p + strlen(p) - 1; e >= p && isspace(*e); --e) ;
-       if (e < p || e - p > size - 2)
+       if (e < p || (size_t)(e - p) > size - 2)
                return 0;
 
        strlcpy(dst, p, e - p + 2);
@@ -428,7 +428,7 @@ int safe_write(int fd, const void *buf, size_t count)
        return 0;
 }
 
-void set_max_fds(int max_fds)
+void set_max_fds(rlim_t max_fds)
 {
        struct rlimit fd_limit;
 
index 693991c..913ab7c 100644 (file)
@@ -2,6 +2,8 @@
 #define _UTIL_H
 
 #include <sys/types.h>
+/* for rlim_t */
+#include <sys/resource.h>
 #include <inttypes.h>
 #include <stdbool.h>
 
@@ -21,7 +23,7 @@ int get_linux_version_code(void);
 int parse_prkey(char *ptr, uint64_t *prkey);
 int parse_prkey_flags(char *ptr, uint64_t *prkey, uint8_t *flags);
 int safe_write(int fd, const void *buf, size_t count);
-void set_max_fds(int max_fds);
+void set_max_fds(rlim_t max_fds);
 
 #define KERNEL_VERSION(maj, min, ptc) ((((maj) * 256) + (min)) * 256 + (ptc))
 #define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
index 9b4e978..6adeedf 100644 (file)
@@ -40,7 +40,8 @@ static int _recv_packet(int fd, char **buf, unsigned int timeout,
  */
 int ux_socket_listen(const char *name)
 {
-       int fd, len;
+       int fd;
+       size_t len;
 #ifdef USE_SYSTEMD
        int num;
 #endif
index d02a707..291db8f 100644 (file)
@@ -74,7 +74,7 @@ write_out_wwid(int fd, char *wwid) {
                        strerror(errno));
                return -1;
        }
-       if (write(fd, buf, strlen(buf)) != strlen(buf)) {
+       if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) {
                condlog(0, "cannot write wwid to wwids file : %s",
                        strerror(errno));
                if (ftruncate(fd, offset))
@@ -117,7 +117,7 @@ replace_wwids(vector mp)
                goto out_file;
        }
        len = strlen(WWIDS_FILE_HEADER);
-       if (write(fd, WWIDS_FILE_HEADER, len) != len) {
+       if (write(fd, WWIDS_FILE_HEADER, len) != (ssize_t)len) {
                condlog(0, "Can't write wwid file header : %s",
                        strerror(errno));
                /* cleanup partially written header */
index e55f279..26d5aa9 100644 (file)
@@ -1949,8 +1949,9 @@ static int check_path_reinstate_state(struct path * pp) {
         * so that the cutomer can rectify the issue within this time. After
         * the completion of san_path_err_recovery_time it should
         * automatically reinstate the path
+        * (note: we know that san_path_err_threshold > 0 here).
         */
-       if (pp->path_failures > pp->mpp->san_path_err_threshold) {
+       if (pp->path_failures > (unsigned int)pp->mpp->san_path_err_threshold) {
                condlog(2, "%s : hit error threshold. Delaying path reinstatement", pp->dev);
                pp->dis_reinstate_time = curr_time.tv_sec;
                pp->disable_reinstate = 1;
@@ -3247,7 +3248,8 @@ main (int argc, char *argv[])
 void *  mpath_pr_event_handler_fn (void * pathp )
 {
        struct multipath * mpp;
-       int i, ret, isFound;
+       unsigned int i;
+       int ret, isFound;
        struct path * pp = (struct path *)pathp;
        struct prout_param_descriptor *param;
        struct prin_resp *resp;
index 47d18e2..cc0fbec 100644 (file)
@@ -42,7 +42,7 @@ int pidfile_create(const char *pidFile, pid_t pid)
        }
        memset(buf, 0, sizeof(buf));
        snprintf(buf, sizeof(buf)-1, "%u", pid);
-       if (write(fd, buf, strlen(buf)) != strlen(buf)) {
+       if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) {
                condlog(0, "Cannot write pid to pidfile [%s], error was [%s]",
                        pidFile, strerror(errno));
                goto fail;