diff --git a/src/allocator.cpp b/src/allocator.cpp index 06ec6cf8..68875154 100644 --- a/src/allocator.cpp +++ b/src/allocator.cpp @@ -25,7 +25,7 @@ allocator::allocator(uint64_t blocks) size = free = blocks; last_one_mask = (blocks % 64) == 0 ? UINT64_MAX - : ((1l << (blocks % 64)) - 1); + : (((uint64_t)1 << (blocks % 64)) - 1); for (uint64_t i = 0; i < total; i++) { mask[i] = 0; @@ -79,7 +79,7 @@ void allocator::set(uint64_t addr, bool value) } if (value) { - mask[last] = mask[last] | (1l << bit); + mask[last] = mask[last] | ((uint64_t)1 << bit); if (mask[last] != (!is_last || cur_addr/64 < size/64 ? UINT64_MAX : last_one_mask)) { @@ -88,7 +88,7 @@ void allocator::set(uint64_t addr, bool value) } else { - mask[last] = mask[last] & ~(1l << bit); + mask[last] = mask[last] & ~((uint64_t)1 << bit); } is_last = false; if (p2 > 1) diff --git a/src/cli_create.cpp b/src/cli_create.cpp index 2ac24f2c..2896c602 100644 --- a/src/cli_create.cpp +++ b/src/cli_create.cpp @@ -457,13 +457,13 @@ uint64_t parse_size(std::string size_str) if (type_char == 'k' || type_char == 'm' || type_char == 'g' || type_char == 't') { if (type_char == 'k') - mul = 1l<<10; + mul = (uint64_t)1<<10; else if (type_char == 'm') - mul = 1l<<20; + mul = (uint64_t)1<<20; else if (type_char == 'g') - mul = 1l<<30; + mul = (uint64_t)1<<30; else /*if (type_char == 't')*/ - mul = 1l<<40; + mul = (uint64_t)1<<40; size_str = size_str.substr(0, size_str.length()-1); } uint64_t size = json11::Json(size_str).uint64_value() * mul; diff --git a/src/cli_df.cpp b/src/cli_df.cpp index 09c936a3..423bd2f2 100644 --- a/src/cli_df.cpp +++ b/src/cli_df.cpp @@ -124,8 +124,8 @@ resume_1: { "scheme_name", pool_cfg.scheme == POOL_SCHEME_REPLICATED ? std::to_string(pool_cfg.pg_size)+"/"+std::to_string(pool_cfg.pg_minsize) : "EC "+std::to_string(pool_cfg.pg_size-pool_cfg.parity_chunks)+"+"+std::to_string(pool_cfg.parity_chunks) }, - { "used_raw", (uint64_t)(pool_stats[pool_cfg.id]["used_raw_tb"].number_value() * (1l<<40)) }, - { "total_raw", (uint64_t)(pool_stats[pool_cfg.id]["total_raw_tb"].number_value() * (1l<<40)) }, + { "used_raw", (uint64_t)(pool_stats[pool_cfg.id]["used_raw_tb"].number_value() * ((uint64_t)1<<40)) }, + { "total_raw", (uint64_t)(pool_stats[pool_cfg.id]["total_raw_tb"].number_value() * ((uint64_t)1<<40)) }, { "max_available", pool_avail }, { "raw_to_usable", pool_stats[pool_cfg.id]["raw_to_usable"].number_value() }, { "space_efficiency", pool_stats[pool_cfg.id]["space_efficiency"].number_value() }, diff --git a/src/cli_ls.cpp b/src/cli_ls.cpp index f126659e..4e15aba2 100644 --- a/src/cli_ls.cpp +++ b/src/cli_ls.cpp @@ -436,8 +436,8 @@ std::string print_table(json11::Json items, json11::Json header, bool use_esc) return str; } -static uint64_t size_thresh[] = { 1024l*1024*1024*1024, 1024l*1024*1024, 1024l*1024, 1024, 0 }; -static uint64_t size_thresh_d[] = { 1000000000000l, 1000000000l, 1000000l, 1000l, 0 }; +static uint64_t size_thresh[] = { (uint64_t)1024*1024*1024*1024, (uint64_t)1024*1024*1024, (uint64_t)1024*1024, 1024, 0 }; +static uint64_t size_thresh_d[] = { (uint64_t)1000000000000, (uint64_t)1000000000, (uint64_t)1000000, (uint64_t)1000, 0 }; static const int size_thresh_n = sizeof(size_thresh)/sizeof(size_thresh[0]); static const char *size_unit = "TGMKB"; diff --git a/src/cli_rm_data.cpp b/src/cli_rm_data.cpp index 61b81598..5cff8fd7 100644 --- a/src/cli_rm_data.cpp +++ b/src/cli_rm_data.cpp @@ -193,7 +193,7 @@ std::function cli_tool_t::start_rm(json11::Json cfg) remover->pool_id = cfg["pool"].uint64_value(); if (remover->pool_id) { - remover->inode = (remover->inode & ((1l << (64-POOL_ID_BITS)) - 1)) | (((uint64_t)remover->pool_id) << (64-POOL_ID_BITS)); + remover->inode = (remover->inode & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)) | (((uint64_t)remover->pool_id) << (64-POOL_ID_BITS)); } remover->pool_id = INODE_POOL(remover->inode); if (!remover->pool_id) diff --git a/src/etcd_state_client.cpp b/src/etcd_state_client.cpp index 2ffc5123..af726a15 100644 --- a/src/etcd_state_client.cpp +++ b/src/etcd_state_client.cpp @@ -968,7 +968,7 @@ void etcd_state_client_t::parse_state(const etcd_kv_t & kv) { fprintf( stderr, "Inode %lu/%lu parent_pool value is invalid, ignoring parent setting\n", - inode_num >> (64-POOL_ID_BITS), inode_num & ((1l << (64-POOL_ID_BITS)) - 1) + inode_num >> (64-POOL_ID_BITS), inode_num & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1) ); parent_inode_num = 0; } diff --git a/src/fio_cluster.cpp b/src/fio_cluster.cpp index f698e3f2..438cadb8 100644 --- a/src/fio_cluster.cpp +++ b/src/fio_cluster.cpp @@ -214,14 +214,14 @@ static int sec_setup(struct thread_data *td) if (!o->image) { - if (!(o->inode & ((1l << (64-POOL_ID_BITS)) - 1))) + if (!(o->inode & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1))) { td_verror(td, EINVAL, "inode number is missing"); return 1; } if (o->pool) { - o->inode = (o->inode & ((1l << (64-POOL_ID_BITS)) - 1)) | (o->pool << (64-POOL_ID_BITS)); + o->inode = (o->inode & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)) | (o->pool << (64-POOL_ID_BITS)); } if (!(o->inode >> (64-POOL_ID_BITS))) { diff --git a/src/nbd_proxy.cpp b/src/nbd_proxy.cpp index 6676fbbe..86d1d867 100644 --- a/src/nbd_proxy.cpp +++ b/src/nbd_proxy.cpp @@ -189,7 +189,7 @@ public: uint64_t pool = cfg["pool"].uint64_value(); if (pool) { - inode = (inode & ((1l << (64-POOL_ID_BITS)) - 1)) | (pool << (64-POOL_ID_BITS)); + inode = (inode & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)) | (pool << (64-POOL_ID_BITS)); } if (!(inode >> (64-POOL_ID_BITS))) { diff --git a/src/osd_cluster.cpp b/src/osd_cluster.cpp index 469bb25d..1b0baa1d 100644 --- a/src/osd_cluster.cpp +++ b/src/osd_cluster.cpp @@ -189,7 +189,7 @@ void osd_t::report_statistics() for (auto kv: bs->get_inode_space_stats()) { pool_id_t pool_id = INODE_POOL(kv.first); - uint64_t only_inode_num = (kv.first & ((1l << (64-POOL_ID_BITS)) - 1)); + uint64_t only_inode_num = (kv.first & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)); if (!last_pool || pool_id != last_pool) { if (last_pool) @@ -207,7 +207,7 @@ void osd_t::report_statistics() for (auto kv: inode_stats) { pool_id_t pool_id = INODE_POOL(kv.first); - uint64_t only_inode_num = (kv.first & ((1l << (64-POOL_ID_BITS)) - 1)); + uint64_t only_inode_num = (kv.first & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)); if (!last_pool || pool_id != last_pool) { if (last_pool) diff --git a/src/osd_id.h b/src/osd_id.h index a1154eb5..d23356f2 100644 --- a/src/osd_id.h +++ b/src/osd_id.h @@ -9,7 +9,7 @@ #define POOL_ID_MAX 0x10000 #define POOL_ID_BITS 16 #define INODE_POOL(inode) (pool_id_t)((inode) >> (64 - POOL_ID_BITS)) -#define INODE_NO_POOL(inode) (inode_t)(inode & ((1l << (64-POOL_ID_BITS)) - 1)) +#define INODE_NO_POOL(inode) (inode_t)(inode & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)) #define INODE_WITH_POOL(pool_id, inode) (((inode_t)(pool_id) << (64-POOL_ID_BITS)) | INODE_NO_POOL(inode)) // Pool ID is 16 bits long diff --git a/src/osd_peering_pg.cpp b/src/osd_peering_pg.cpp index c84d883c..f29e25f5 100644 --- a/src/osd_peering_pg.cpp +++ b/src/osd_peering_pg.cpp @@ -437,7 +437,7 @@ void pg_t::calc_object_states(int log_level) st.walk(); if (this->state & (PG_DEGRADED|PG_LEFT_ON_DEAD)) { - assert(epoch != ((1ul << PG_EPOCH_BITS)-1)); + assert(epoch != (((uint64_t)1 << PG_EPOCH_BITS)-1)); epoch++; } } diff --git a/src/osd_primary_write.cpp b/src/osd_primary_write.cpp index aa1a5cff..f9ea52cb 100644 --- a/src/osd_primary_write.cpp +++ b/src/osd_primary_write.cpp @@ -144,9 +144,9 @@ resume_3: } else { - if ((op_data->fact_ver & (1ul<<(64-PG_EPOCH_BITS) - 1)) == (1ul<<(64-PG_EPOCH_BITS) - 1)) + if ((op_data->fact_ver & ((uint64_t)1 << (64-PG_EPOCH_BITS) - 1)) == ((uint64_t)1 << (64-PG_EPOCH_BITS) - 1)) { - assert(pg.epoch != ((1ul << PG_EPOCH_BITS)-1)); + assert(pg.epoch != (((uint64_t)1 << PG_EPOCH_BITS)-1)); pg.epoch++; } op_data->target_ver = op_data->fact_ver + 1; diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 995de6c5..cf06c542 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -262,7 +262,7 @@ static int vitastor_file_open(BlockDriverState *bs, QDict *options, int flags, E client->pool = qdict_get_try_int(options, "pool", 0); if (client->pool) { - client->inode = (client->inode & ((1l << (64-POOL_ID_BITS)) - 1)) | (client->pool << (64-POOL_ID_BITS)); + client->inode = (client->inode & (((uint64_t)1 << (64-POOL_ID_BITS)) - 1)) | (client->pool << (64-POOL_ID_BITS)); } client->size = qdict_get_try_int(options, "size", 0); } diff --git a/src/test_shit.cpp b/src/test_shit.cpp index f42a7755..402cba0e 100644 --- a/src/test_shit.cpp +++ b/src/test_shit.cpp @@ -406,7 +406,7 @@ uint64_t crush(uint64_t key, int count, uint64_t *weights) seed = (key + 0xc6a4a7935bd1e995 + (seed << 6) + (seed >> 2)); seed ^= (j + 0xc6a4a7935bd1e995 + (seed << 6) + (seed >> 2)); seed = 2862933555777941757ull*seed + 3037000493ull; // LCPRNG - seed = -log(((double)seed) / (1ul << 32) / (1ul << 32)) * weights[j]; + seed = -log(((double)seed) / ((uint64_t)1 << 32) / ((uint64_t)1 << 32)) * weights[j]; if (seed > max) { max = seed; @@ -439,8 +439,8 @@ void crush3(uint64_t key, int count, uint64_t *weights, uint64_t *r, uint64_t to seed ^= (k2 + 0xc6a4a7935bd1e995 + (seed << 6) + (seed >> 2)); seed ^= (k3 + 0xc6a4a7935bd1e995 + (seed << 6) + (seed >> 2)); seed = 2862933555777941757ull*seed + 3037000493ull; // LCPRNG - //seed = ((double)seed) / (1ul << 32) / (1ul << 32) * (weights[k1] + weights[k2] + weights[k3]); - seed = ((double)seed) / (1ul << 32) / (1ul << 32) * (1 - + //seed = ((double)seed) / ((uint64_t)1 << 32) / ((uint64_t)1 << 32) * (weights[k1] + weights[k2] + weights[k3]); + seed = ((double)seed) / ((uint64_t)1 << 32) / ((uint64_t)1 << 32) * (1 - (1 - 1.0*weights[k1]/total_weight)* (1 - 1.0*weights[k2]/total_weight)* (1 - 1.0*weights[k3]/total_weight)