Commit 912d1fbb authored by Marc Vef's avatar Marc Vef
Browse files

ifs: moar coding in progress ... create node (with rpc) done

parent b32dba84
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ include_directories(include ${ROCKSDB_INCLUDE_DIR}

include_directories(include)

set(SOURCE_FILES main.cpp main.hpp configure.hpp
set(SOURCE_FILES main.cpp main.hpp configure.hpp util.cpp
        src/db/db_util.cpp src/classes/fs_data.cpp src/classes/rpc_data.cpp

        include/db/db_util.hpp include/classes/fs_data.hpp include/classes/rpc_data.hpp
@@ -49,7 +49,7 @@ set(SOURCE_FILES main.cpp main.hpp configure.hpp
        include/rpc/rpc_defs.hpp include/rpc/rpc_types.hpp


        src/daemon/fs_operations.cpp src/daemon/fs_operations.cpp include/daemon/fs_operations.hpp src/adafs_ops/metadentry.cpp include/adafs_ops/metadentry.hpp src/db/db_ops.cpp src/db/db_ops.cpp include/db/db_ops.hpp)
        src/daemon/fs_operations.cpp src/daemon/fs_operations.cpp include/daemon/fs_operations.hpp src/adafs_ops/metadentry.cpp include/adafs_ops/metadentry.hpp src/db/db_ops.cpp src/db/db_ops.cpp include/db/db_ops.hpp src/rpc/handler/h_metadentry.cpp src/rpc/sender/c_metadentry.cpp include/rpc/sender/c_metadentry.hpp)
add_executable(adafs_daemon ${SOURCE_FILES})
target_link_libraries(adafs_daemon ${ROCKSDB_LIBRARIES}
        # rocksdb libs
+4 −0
Original line number Diff line number Diff line
@@ -11,4 +11,8 @@ int create_node(const std::string& path, const uid_t uid, const gid_t gid, mode_

int create_metadentry(const std::string& path, mode_t mode);

int db_metadentry_to_stat(const std::string& path, struct stat& attr);

int get_attr(const std::string& path, struct stat* attr);

#endif //IFS_METADENTRY_HPP
+46 −5
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ private:
    std::hash<std::string> hashf_;

    // inodes
//    fuse_ino_t inode_count_;
    ino_t inode_count_;

    // Later the blocksize will likely be coupled to the chunks to allow individually big chunk sizes.
    blksize_t blocksize_;
@@ -49,6 +49,16 @@ private:
    rocksdb::WriteOptions rdb_write_options_;
    std::string rdb_path_;

    // configurable metadata
    bool atime_state_;
    bool mtime_state_;
    bool ctime_state_;
    bool uid_state_;
    bool gid_state_;
    bool inode_no_state_;
    bool link_cnt_state_;
    bool blocks_state_;

public:

    // mutex has a deleted method to assign an existing mutex. As such it cannot use getter or setters
@@ -66,7 +76,7 @@ public:

    // Utility member functions

//    fuse_ino_t raise_inode_count(fuse_ino_t count);
    ino_t raise_inode_count(ino_t count);

    bool is_local_op(size_t recipient);

@@ -82,9 +92,9 @@ public:

    void hashf(const std::hash<std::string>& hashf_);

//    fuse_ino_t inode_count() const;
//
//    void inode_count(fuse_ino_t inode_count);
    ino_t inode_count() const;

    void inode_count(ino_t inode_count);

    blksize_t blocksize() const;

@@ -158,6 +168,37 @@ public:

    void rpc_port(std::string rpc_port);

    bool atime_state() const;

    void atime_state(bool atime_state);

    bool mtime_state() const;

    void mtime_state(bool mtime_state);

    bool ctime_state() const;

    void ctime_state(bool ctime_state);

    bool uid_state() const;

    void uid_state(bool uid_state);

    bool gid_state() const;

    void gid_state(bool gid_state);

    bool inode_no_state() const;

    void inode_no_state(bool inode_no_state);

    bool link_cnt_state() const;

    void link_cnt_state(bool link_cnt_state);

    bool blocks_state() const;

    void blocks_state(bool blocks_state);

};

+3 −37
Original line number Diff line number Diff line
@@ -32,14 +32,7 @@ private:
    // TODO RPC client IDs
    // RPC client IDs
    hg_id_t rpc_minimal_id_;
    hg_id_t rpc_srv_create_dentry_id_;
    hg_id_t rpc_srv_create_mdata_id_;
    hg_id_t rpc_srv_attr_id_;
    hg_id_t rpc_srv_lookup_id_;
    hg_id_t rpc_srv_remove_dentry_id_;
    hg_id_t rpc_srv_remove_mdata_id_;
    hg_id_t rpc_srv_read_data_id_;
    hg_id_t rpc_srv_write_data_id_;
    hg_id_t rpc_srv_create_node_id_;


public:
@@ -94,37 +87,10 @@ public:

    lru11::Cache<uint64_t, hg_addr_t>& address_cache();

    hg_id_t rpc_srv_attr_id() const;
    hg_id_t rpc_srv_create_node_id() const;

    void rpc_srv_attr_id(hg_id_t rpc_srv_attr_id);
    void rpc_srv_create_node_id(hg_id_t rpc_srv_create_node_id);

    hg_id_t rpc_srv_create_dentry_id() const;

    void rpc_srv_create_dentry_id(hg_id_t rpc_srv_create_dentry_id);

    hg_id_t rpc_srv_create_mdata_id() const;

    void rpc_srv_create_mdata_id(hg_id_t rpc_srv_create_mdata_id);

    hg_id_t rpc_srv_lookup_id() const;

    void rpc_srv_lookup_id(hg_id_t rpc_srv_lookup_id);

    hg_id_t rpc_srv_remove_dentry_id() const;

    void rpc_srv_remove_dentry_id(hg_id_t rpc_srv_remove_dentry_id);

    hg_id_t rpc_srv_remove_mdata_id() const;

    void rpc_srv_remove_mdata_id(hg_id_t rpc_srv_remove_mdata_id);

    hg_id_t rpc_srv_read_data_id() const;

    void rpc_srv_read_data_id(hg_id_t rpc_srv_read_data_id);

    hg_id_t rpc_srv_write_data_id() const;

    void rpc_srv_write_data_id(hg_id_t rpc_srv_write_data_id);
};


+4 −0
Original line number Diff line number Diff line
@@ -16,7 +16,11 @@ void destroy_enviroment();
bool init_argobots();
void destroy_argobots();
bool init_rpc_server();

void register_server_rpcs();
bool init_rpc_client();

void register_client_rpcs();


#endif //IFS_ADAFS_DAEMON_HPP
Loading