Verified Commit 7f4e1b06 authored by Marc Vef's avatar Marc Vef
Browse files

Removing RPC_PROTOCOL and USE_SHM from CMake. Adding arg options instead

Client now reads host file to determine auto_sm and RPC protocol
parent bcc08481
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -102,19 +102,6 @@ find_package(Threads REQUIRED)

find_package(Date REQUIRED)

set(RPC_PROTOCOL "ofi+sockets" CACHE STRING "Communication plugin used for RPCs")
set_property(CACHE RPC_PROTOCOL PROPERTY STRINGS
   "bmi+tcp"
   "ofi+sockets"
   "ofi+tcp"
   "ofi+verbs"
   "ofi+psm2"
)
message(STATUS "[gekkofs] RPC protocol: '${RPC_PROTOCOL}'")

option(USE_SHM "Use shared memory for intra-node communication" OFF)
message(STATUS "[gekkofs] Shared-memory communication: ${USE_SHM}")

option(CREATE_CHECK_PARENTS "Check parent directory existance before creating child node" ON)
message(STATUS "[gekkofs] Create checks parents: ${CREATE_CHECK_PARENTS}")

+10 −1
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ private:
    std::vector<hermes::endpoint> hosts_;
    uint64_t local_host_id_;
    uint64_t fwd_host_id_;
    std::string rpc_protocol_;
    bool auto_sm_{false};

    bool interception_enabled_;

@@ -119,7 +121,6 @@ public:

    void clear_hosts();


    uint64_t local_host_id() const;

    void local_host_id(uint64_t id);
@@ -128,6 +129,14 @@ public:

    void fwd_host_id(uint64_t id);

    const std::string& rpc_protocol() const;

    void rpc_protocol(const std::string& rpc_protocol);

    bool auto_sm() const;

    void auto_sm(bool auto_sm);

    RelativizeStatus relativize_fd_path(int dirfd,
                                        const char* raw_path,
                                        std::string& relative_path,
+4 −2
Original line number Diff line number Diff line
@@ -59,11 +59,13 @@ std::shared_ptr<gkfs::metadata::Metadata> get_metadata(const std::string& path,

int metadata_to_stat(const std::string& path, const gkfs::metadata::Metadata& md, struct stat& attr);

std::vector<std::pair<std::string, std::string>> load_hostfile(const std::string& lfpath);

void load_hosts();
void load_forwarding_map();

std::vector<std::pair<std::string, std::string>> read_hosts_file();

void connect_to_hosts(const std::vector<std::pair<std::string, std::string>>& hosts);

} // namespace util
} // namespace gkfs

+12 −1
Original line number Diff line number Diff line
@@ -46,8 +46,11 @@ private:
    std::string mountdir_;
    std::string metadir_;

    // RPC management
    std::string rpc_protocol_;
    std::string bind_addr_;
    std::string hosts_file_;
    bool use_auto_sm_;

    // Database
    std::shared_ptr<gkfs::metadata::MetadataDB> mdb_;
@@ -99,12 +102,20 @@ public:

    void storage(const std::shared_ptr<gkfs::data::ChunkStorage>& storage);

    const std::string& rpc_protocol() const;

    void rpc_protocol(const std::string& rpc_protocol);

    const std::string& bind_addr() const;

    void bind_addr(const std::string& addr);

    const std::string& hosts_file() const;

    bool use_auto_sm() const;

    void use_auto_sm(bool use_auto_sm);

    void hosts_file(const std::string& lookup_file);

    bool atime_state() const;
+0 −2
Original line number Diff line number Diff line
@@ -14,8 +14,6 @@
#ifndef GKFS_CMAKE_CONFIGURE_HPP
#define GKFS_CMAKE_CONFIGURE_HPP

#define RPC_PROTOCOL "@RPC_PROTOCOL@"
#cmakedefine01 USE_SHM
#cmakedefine01 CREATE_CHECK_PARENTS
#cmakedefine01 LOG_SYSCALLS

Loading