Loading .gitlab-ci.yml +2 −2 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ compile dependencies: # If the download and compile script have been modified the cache gets invalidated and dependencies will be built again. - ( [ -f "${DEPS_COMMIT}" ] && git diff --quiet "`cat ${DEPS_COMMIT}`" -- scripts/dl_dep.sh scripts/compile_dep.sh ) || ( rm -f ${DEPS_COMMIT} && scripts/dl_dep.sh ${DEPS_SRC_PATH} -n ofi && scripts/compile_dep.sh -n ofi ${DEPS_SRC_PATH} ${DEPS_INSTALL_PATH} && scripts/dl_dep.sh ${DEPS_SRC_PATH} -n ofi -c ci && scripts/compile_dep.sh -n ofi -c ci ${DEPS_SRC_PATH} ${DEPS_INSTALL_PATH} && echo "${CI_COMMIT_SHA}" > "${DEPS_COMMIT}" ) artifacts: Loading CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ find_package(Date REQUIRED) option(CREATE_CHECK_PARENTS "Check parent directory existance before creating child node" ON) message(STATUS "[gekkofs] Create checks parents: ${CREATE_CHECK_PARENTS}") option(SYMLINK_SUPPORT "Compile with support for symlinks" ON) option(SYMLINK_SUPPORT "Compile with support for symlinks" OFF) if(SYMLINK_SUPPORT) add_definitions(-DHAS_SYMLINKS) endif() Loading include/client/path.hpp +12 −0 Original line number Diff line number Diff line Loading @@ -17,11 +17,23 @@ namespace gkfs { namespace path { enum class NormalizeStatus { ok, fd_unknown, fd_not_a_dir }; unsigned int match_components(const std::string& path, unsigned int& path_components, const std::vector<std::string>& components); bool resolve(const std::string& path, std::string& resolved, bool resolve_last_link = true); NormalizeStatus normalize(int dirfd, const char* raw_path, std::string& normalized_path, bool resolve_last_link = true); std::string normalize(const char* raw_path, bool resolve_last_link = true); bool is_in_gkfs(std::string& path, bool cut_mountdir_prefix = false); std::string get_sys_cwd(); void set_sys_cwd(const std::string& path); Loading include/client/preload_context.hpp +0 −14 Original line number Diff line number Diff line Loading @@ -55,13 +55,6 @@ struct FsConfig { }; enum class RelativizeStatus { internal, external, fd_unknown, fd_not_a_dir }; /** * Singleton class of the client context with all relevant global data */ Loading Loading @@ -139,13 +132,6 @@ public: void auto_sm(bool auto_sm); RelativizeStatus relativize_fd_path(int dirfd, const char* raw_path, std::string& relative_path, bool resolve_last_link = true) const; bool relativize_path(const char* raw_path, std::string& relative_path, bool resolve_last_link = true) const; const std::shared_ptr<gkfs::filemap::OpenFileMap>& file_map() const; void distributor(std::shared_ptr<gkfs::rpc::Distributor> distributor); Loading include/client/preload_util.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ constexpr typename std::underlying_type<E>::type to_underlying(E e) { std::shared_ptr<gkfs::metadata::Metadata> get_metadata(const std::string& path, bool follow_links = false); int get_metadata_no_shared(const std::string& path, std::string& attr, bool follow_links = false); int metadata_to_stat(const std::string& path, const gkfs::metadata::Metadata& md, struct stat& attr); void load_hosts(); Loading Loading
.gitlab-ci.yml +2 −2 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ compile dependencies: # If the download and compile script have been modified the cache gets invalidated and dependencies will be built again. - ( [ -f "${DEPS_COMMIT}" ] && git diff --quiet "`cat ${DEPS_COMMIT}`" -- scripts/dl_dep.sh scripts/compile_dep.sh ) || ( rm -f ${DEPS_COMMIT} && scripts/dl_dep.sh ${DEPS_SRC_PATH} -n ofi && scripts/compile_dep.sh -n ofi ${DEPS_SRC_PATH} ${DEPS_INSTALL_PATH} && scripts/dl_dep.sh ${DEPS_SRC_PATH} -n ofi -c ci && scripts/compile_dep.sh -n ofi -c ci ${DEPS_SRC_PATH} ${DEPS_INSTALL_PATH} && echo "${CI_COMMIT_SHA}" > "${DEPS_COMMIT}" ) artifacts: Loading
CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ find_package(Date REQUIRED) option(CREATE_CHECK_PARENTS "Check parent directory existance before creating child node" ON) message(STATUS "[gekkofs] Create checks parents: ${CREATE_CHECK_PARENTS}") option(SYMLINK_SUPPORT "Compile with support for symlinks" ON) option(SYMLINK_SUPPORT "Compile with support for symlinks" OFF) if(SYMLINK_SUPPORT) add_definitions(-DHAS_SYMLINKS) endif() Loading
include/client/path.hpp +12 −0 Original line number Diff line number Diff line Loading @@ -17,11 +17,23 @@ namespace gkfs { namespace path { enum class NormalizeStatus { ok, fd_unknown, fd_not_a_dir }; unsigned int match_components(const std::string& path, unsigned int& path_components, const std::vector<std::string>& components); bool resolve(const std::string& path, std::string& resolved, bool resolve_last_link = true); NormalizeStatus normalize(int dirfd, const char* raw_path, std::string& normalized_path, bool resolve_last_link = true); std::string normalize(const char* raw_path, bool resolve_last_link = true); bool is_in_gkfs(std::string& path, bool cut_mountdir_prefix = false); std::string get_sys_cwd(); void set_sys_cwd(const std::string& path); Loading
include/client/preload_context.hpp +0 −14 Original line number Diff line number Diff line Loading @@ -55,13 +55,6 @@ struct FsConfig { }; enum class RelativizeStatus { internal, external, fd_unknown, fd_not_a_dir }; /** * Singleton class of the client context with all relevant global data */ Loading Loading @@ -139,13 +132,6 @@ public: void auto_sm(bool auto_sm); RelativizeStatus relativize_fd_path(int dirfd, const char* raw_path, std::string& relative_path, bool resolve_last_link = true) const; bool relativize_path(const char* raw_path, std::string& relative_path, bool resolve_last_link = true) const; const std::shared_ptr<gkfs::filemap::OpenFileMap>& file_map() const; void distributor(std::shared_ptr<gkfs::rpc::Distributor> distributor); Loading
include/client/preload_util.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ constexpr typename std::underlying_type<E>::type to_underlying(E e) { std::shared_ptr<gkfs::metadata::Metadata> get_metadata(const std::string& path, bool follow_links = false); int get_metadata_no_shared(const std::string& path, std::string& attr, bool follow_links = false); int metadata_to_stat(const std::string& path, const gkfs::metadata::Metadata& md, struct stat& attr); void load_hosts(); Loading