Verified Commit ec85e00c authored by Marc Vef's avatar Marc Vef
Browse files

c++17: Use if constexpr for constexpr

parent 17c51fa1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -733,7 +733,7 @@ gkfs_pread(std::shared_ptr<gkfs::filemap::OpenFile> file, char* buf,

    // Zeroing buffer before read is only relevant for sparse files. Otherwise
    // sparse regions contain invalid data.
    if(gkfs::config::io::zero_buffer_before_read) {
    if constexpr(gkfs::config::io::zero_buffer_before_read) {
        memset(buf, 0, sizeof(char) * count);
    }
    auto ret = gkfs::rpc::forward_read(file->path(), buf, offset, count);
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ MetadataDB::MetadataDB(const std::string& path) : path(path) {
    options.merge_operator.reset(new MetadataMergeOperator);
    MetadataDB::optimize_rocksdb_options(options);
    write_opts.disableWAL = !(gkfs::config::rocksdb::use_write_ahead_log);
    rdb::DB* rdb_ptr;
    rdb::DB* rdb_ptr = nullptr;
    auto s = rocksdb::DB::Open(options, path, &rdb_ptr);
    if(!s.ok()) {
        throw std::runtime_error("Failed to open RocksDB: " + s.ToString());
+12 −11
Original line number Diff line number Diff line
@@ -66,31 +66,32 @@ Metadata::Metadata(const std::string& binary_str) {
    ptr += read;

    // The order is important. don't change.
    if(gkfs::config::metadata::use_atime) {
    if constexpr(gkfs::config::metadata::use_atime) {
        assert(*ptr == MSP);
        atime_ = static_cast<time_t>(std::stol(++ptr, &read));
        assert(read > 0);
        ptr += read;
    }
    if(gkfs::config::metadata::use_mtime) {
    if constexpr(gkfs::config::metadata::use_mtime) {
        assert(*ptr == MSP);
        mtime_ = static_cast<time_t>(std::stol(++ptr, &read));
        assert(read > 0);
        ptr += read;
    }
    if(gkfs::config::metadata::use_ctime) {
    if constexpr(gkfs::config::metadata::use_ctime) {
        assert(*ptr == MSP);
        ctime_ = static_cast<time_t>(std::stol(++ptr, &read));
        assert(read > 0);
        ptr += read;
    }
    if(gkfs::config::metadata::use_link_cnt) {
    if constexpr(gkfs::config::metadata::use_link_cnt) {
        assert(*ptr == MSP);
        link_count_ = static_cast<nlink_t>(std::stoul(++ptr, &read));
        assert(read > 0);
        ptr += read;
    }
    if(gkfs::config::metadata::use_blocks) { // last one will not encounter a
    if constexpr(gkfs::config::metadata::use_blocks) { // last one will not
                                                       // encounter a
                                                       // delimiter anymore
        assert(*ptr == MSP);
        blocks_ = static_cast<blkcnt_t>(std::stoul(++ptr, &read));
@@ -118,23 +119,23 @@ Metadata::serialize() const {
    s += fmt::format_int(mode_).c_str(); // add mandatory mode
    s += MSP;
    s += fmt::format_int(size_).c_str(); // add mandatory size
    if(gkfs::config::metadata::use_atime) {
    if constexpr(gkfs::config::metadata::use_atime) {
        s += MSP;
        s += fmt::format_int(atime_).c_str();
    }
    if(gkfs::config::metadata::use_mtime) {
    if constexpr(gkfs::config::metadata::use_mtime) {
        s += MSP;
        s += fmt::format_int(mtime_).c_str();
    }
    if(gkfs::config::metadata::use_ctime) {
    if constexpr(gkfs::config::metadata::use_ctime) {
        s += MSP;
        s += fmt::format_int(ctime_).c_str();
    }
    if(gkfs::config::metadata::use_link_cnt) {
    if constexpr(gkfs::config::metadata::use_link_cnt) {
        s += MSP;
        s += fmt::format_int(link_count_).c_str();
    }
    if(gkfs::config::metadata::use_blocks) {
    if constexpr(gkfs::config::metadata::use_blocks) {
        s += MSP;
        s += fmt::format_int(blocks_).c_str();
    }