diff options
author | Xavi Hernandez <xhernandez@redhat.com> | 2018-09-25 13:22:47 +0200 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-10-10 05:50:29 +0000 |
commit | 2d96ce8faa277809c0c94aca54320483889f577d (patch) | |
tree | 999ef8b148b186e6bf74bb22c3ff670fc6e34d38 /xlators/cluster/ec/src/ec-common.c | |
parent | 0cda00f08d3d620be89830bad9d0e252648388e9 (diff) |
all: fix warnings on non 64-bits architectures
When compiling in other architectures there appear many warnings. Some
of them are actual problems that prevent gluster to work correctly on
those architectures.
Change-Id: Icdc7107a2bc2da662903c51910beddb84bdf03c0
fixes: bz#1632717
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
Diffstat (limited to 'xlators/cluster/ec/src/ec-common.c')
-rw-r--r-- | xlators/cluster/ec/src/ec-common.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/xlators/cluster/ec/src/ec-common.c b/xlators/cluster/ec/src/ec-common.c index 0eee0a3363f..737f7fda882 100644 --- a/xlators/cluster/ec/src/ec-common.c +++ b/xlators/cluster/ec/src/ec-common.c @@ -132,22 +132,23 @@ out: loc_wipe(&loc); } -off_t -ec_range_end_get(off_t fl_start, size_t fl_size) -{ - off_t fl_end = 0; - switch (fl_size) { - case 0: - return fl_start; - case LLONG_MAX: /*Infinity*/ - return LLONG_MAX; - default: - fl_end = fl_start + fl_size - 1; - if (fl_end < 0) /*over-flow*/ - return LLONG_MAX; - else - return fl_end; +static off_t +ec_range_end_get(off_t fl_start, uint64_t fl_size) +{ + if (fl_size > 0) { + if (fl_size >= EC_RANGE_FULL) { + /* Infinity */ + fl_start = LLONG_MAX; + } else { + fl_start += fl_size - 1; + if (fl_start < 0) { + /* Overflow */ + fl_start = LLONG_MAX; + } + } } + + return fl_start; } static gf_boolean_t @@ -648,7 +649,7 @@ ec_child_select(ec_fop_data_t *fop) if ((fop->mask & ~ec->xl_up) != 0) { gf_msg(fop->xl->name, GF_LOG_WARNING, 0, EC_MSG_OP_EXEC_UNAVAIL, "Executing operation with " - "some subvolumes unavailable. (%lX). %s ", + "some subvolumes unavailable. (%" PRIXPTR "). %s ", fop->mask & ~ec->xl_up, ec_msg_str(fop)); fop->mask &= ec->xl_up; } @@ -870,7 +871,7 @@ ec_lock_allocate(ec_fop_data_t *fop, loc_t *loc) lock = mem_get0(ec->lock_pool); if (lock != NULL) { - lock->good_mask = -1ULL; + lock->good_mask = UINTPTR_MAX; INIT_LIST_HEAD(&lock->owners); INIT_LIST_HEAD(&lock->waiting); INIT_LIST_HEAD(&lock->frozen); @@ -903,9 +904,9 @@ ec_lock_compare(ec_lock_t *lock1, ec_lock_t *lock2) return gf_uuid_compare(lock1->loc.gfid, lock2->loc.gfid); } -void +static void ec_lock_insert(ec_fop_data_t *fop, ec_lock_t *lock, uint32_t flags, loc_t *base, - off_t fl_start, size_t fl_size) + off_t fl_start, uint64_t fl_size) { ec_lock_link_t *link; @@ -945,9 +946,9 @@ ec_lock_insert(ec_fop_data_t *fop, ec_lock_t *lock, uint32_t flags, loc_t *base, lock->refs_pending++; } -void +static void ec_lock_prepare_inode_internal(ec_fop_data_t *fop, loc_t *loc, uint32_t flags, - loc_t *base, off_t fl_start, size_t fl_size) + loc_t *base, off_t fl_start, uint64_t fl_size) { ec_lock_t *lock = NULL; ec_inode_t *ctx; @@ -1019,7 +1020,7 @@ unlock: void ec_lock_prepare_inode(ec_fop_data_t *fop, loc_t *loc, uint32_t flags, - off_t fl_start, size_t fl_size) + off_t fl_start, uint64_t fl_size) { ec_lock_prepare_inode_internal(fop, loc, flags, NULL, fl_start, fl_size); } @@ -1048,14 +1049,14 @@ ec_lock_prepare_parent_inode(ec_fop_data_t *fop, loc_t *loc, loc_t *base, base = NULL; } - ec_lock_prepare_inode_internal(fop, &tmp, flags, base, 0, LLONG_MAX); + ec_lock_prepare_inode_internal(fop, &tmp, flags, base, 0, EC_RANGE_FULL); loc_wipe(&tmp); } void ec_lock_prepare_fd(ec_fop_data_t *fop, fd_t *fd, uint32_t flags, off_t fl_start, - size_t fl_size) + uint64_t fl_size) { loc_t loc; int32_t err; |