From 2966d764cd8df0d402ef7fd05e6288a6460691ea Mon Sep 17 00:00:00 2001 From: Igor Canadi Date: Mon, 3 Feb 2014 13:48:30 -0800 Subject: [PATCH] Fix some 32-bit compile errors Summary: RocksDB doesn't compile on 32-bit architecture apparently. This is attempt to fix some of 32-bit errors. They are reported here: https://gist.github.com/paxos/8789697 Test Plan: RocksDB still compiles on 64-bit :) Reviewers: kailiu Reviewed By: kailiu CC: leveldb Differential Revision: https://reviews.facebook.net/D15825 --- db/memtable.cc | 12 ++++-------- include/rocksdb/env.h | 2 +- table/filter_block.cc | 2 +- tools/db_repl_stress.cc | 4 ++-- util/ldb_cmd.cc | 2 +- 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/db/memtable.cc b/db/memtable.cc index 91f4ed5d63..faa213d165 100644 --- a/db/memtable.cc +++ b/db/memtable.cc @@ -148,7 +148,7 @@ void MemTable::Add(SequenceNumber s, ValueType type, p += 8; p = EncodeVarint32(p, val_size); memcpy(p, value.data(), val_size); - assert((p + val_size) - buf == (unsigned)encoded_len); + assert((unsigned)(p + val_size - buf) == (unsigned)encoded_len); table_->Insert(buf); // The first sequence number inserted into the memtable @@ -299,13 +299,9 @@ bool MemTable::Update(SequenceNumber seq, ValueType type, value.size()); WriteLock wl(GetLock(lkey.user_key())); memcpy(p, value.data(), value.size()); - assert( - (p + value.size()) - entry == - (unsigned) (VarintLength(key_length) + - key_length + - VarintLength(value.size()) + - value.size()) - ); + assert((unsigned)((p + value.size()) - entry) == + (unsigned)(VarintLength(key_length) + key_length + + VarintLength(value.size()) + value.size())); return true; } } diff --git a/include/rocksdb/env.h b/include/rocksdb/env.h index 06e9b94aa6..e050aee7c3 100644 --- a/include/rocksdb/env.h +++ b/include/rocksdb/env.h @@ -438,7 +438,7 @@ class WritableFile { // This asks the OS to initiate flushing the cached data to disk, // without waiting for completion. // Default implementation does nothing. - virtual Status RangeSync(off_t offset, off_t nbytes) { + virtual Status RangeSync(off64_t offset, off64_t nbytes) { return Status::OK(); } diff --git a/table/filter_block.cc b/table/filter_block.cc index 82b6c6ee1d..96ba7cb1df 100644 --- a/table/filter_block.cc +++ b/table/filter_block.cc @@ -173,7 +173,7 @@ bool FilterBlockReader::MayMatch(uint64_t block_offset, const Slice& entry) { if (index < num_) { uint32_t start = DecodeFixed32(offset_ + index*4); uint32_t limit = DecodeFixed32(offset_ + index*4 + 4); - if (start <= limit && limit <= (offset_ - data_)) { + if (start <= limit && limit <= (uint32_t)(offset_ - data_)) { Slice filter = Slice(data_ + start, limit - start); return policy_->KeyMayMatch(entry, filter); } else if (start == limit) { diff --git a/tools/db_repl_stress.cc b/tools/db_repl_stress.cc index 9dfe4b6447..27cb6d5abf 100644 --- a/tools/db_repl_stress.cc +++ b/tools/db_repl_stress.cc @@ -125,8 +125,8 @@ int main(int argc, const char** argv) { replThread.stop.Release_Store(nullptr); if (replThread.no_read < dataPump.no_records) { // no. read should be => than inserted. - fprintf(stderr, "No. of Record's written and read not same\nRead : %ld" - " Written : %ld\n", replThread.no_read, dataPump.no_records); + fprintf(stderr, "No. of Record's written and read not same\nRead : %zu" + " Written : %zu\n", replThread.no_read, dataPump.no_records); exit(1); } fprintf(stderr, "Successful!\n"); diff --git a/util/ldb_cmd.cc b/util/ldb_cmd.cc index 80f609cd40..86635a6954 100644 --- a/util/ldb_cmd.cc +++ b/util/ldb_cmd.cc @@ -1003,7 +1003,7 @@ Options ReduceDBLevelsCommand::PrepareOptionsForOpenDB() { opt.num_levels = old_levels_; opt.max_bytes_for_level_multiplier_additional.resize(opt.num_levels, 1); // Disable size compaction - opt.max_bytes_for_level_base = 1UL << 50; + opt.max_bytes_for_level_base = 1ULL << 50; opt.max_bytes_for_level_multiplier = 1; opt.max_mem_compaction_level = 0; return opt;