summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/gfdb/gfdb_data_store_types.h
diff options
context:
space:
mode:
authorDan Lambright <dlambrig@redhat.com>2015-08-11 15:36:26 -0400
committerDan Lambright <dlambrig@redhat.com>2015-08-13 04:38:53 -0700
commit6e055b7d7355cadbbf559ad4bed23872aa1743df (patch)
tree075126507ecaaa7c326fa4a2be3d118c7e072075 /libglusterfs/src/gfdb/gfdb_data_store_types.h
parentfb4955b796ab2f3236e00686ecc99e792f9c0f8b (diff)
cluster/tier: fix 64 bit issue with sql query using times
We overflowed when converting seconds to usecs in preperation for sql queries. The fix uses uint64_t throughout including subexpressions. Change-Id: I59bdb742197400dede97f54735b52030920b0d19 BUG: 1231268 Signed-off-by: Dan Lambright <dlambrig@redhat.com> Reviewed-on: http://review.gluster.org/11885 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Joseph Fernandes
Diffstat (limited to 'libglusterfs/src/gfdb/gfdb_data_store_types.h')
-rw-r--r--libglusterfs/src/gfdb/gfdb_data_store_types.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/libglusterfs/src/gfdb/gfdb_data_store_types.h b/libglusterfs/src/gfdb/gfdb_data_store_types.h
index f70a43a20fc..f44c4872c5b 100644
--- a/libglusterfs/src/gfdb/gfdb_data_store_types.h
+++ b/libglusterfs/src/gfdb/gfdb_data_store_types.h
@@ -84,11 +84,11 @@ typedef enum gf_db_operation {
typedef struct timeval gfdb_time_t;
/*Convert time into seconds*/
-static inline long int
+static inline uint64_t
gfdb_time_2_usec(gfdb_time_t *gfdb_time)
{
GF_ASSERT(gfdb_time);
- return gfdb_time->tv_sec * GFDB_MICROSEC + gfdb_time->tv_usec;
+ return ((uint64_t) gfdb_time->tv_sec * GFDB_MICROSEC) + gfdb_time->tv_usec;
}