GekkoFS

User guide

  • Installing GekkoFS
  • Running GekkoFS
  • Forwarding mode
  • Scripts

Developer documentation

  • Testing
  • Coverage
  • Reference
    • Page Hierarchy
    • Full API
      • Namespaces
      • Classes and Structs
      • Enums
      • Functions
        • Function agios_callback
        • Function agios_callback_aggregated
        • Function agios_eventual_callback
        • Function agios_initialize
        • Function agios_shutdown
        • Function at_child_syscall()
        • Function at_child_syscall()
        • Function at_fork_syscall()
        • Function at_fork_syscall()
        • Function at_parent_syscall()
        • Function at_parent_syscall()
        • Function conf::setup
        • Function destroy_enviroment()
        • Function destroy_enviroment()
        • Function destroy_preload()
        • Function destroy_preload()
        • Function generate_unique_id()
        • Function generate_unique_id()
        • Function gkfs::env::get_var(const std::string&, const std::string&)
        • Function gkfs::env::get_var(const std::string&, int)
        • Function gkfs::env::get_var(const string&, const string&)
        • Function gkfs::env::get_var(const string&, const int)
        • Function gkfs::env::var_is_set(const std::string&)
        • Function gkfs::env::var_is_set(const string&)
        • Function gkfs::hook::hook_access
        • Function gkfs::hook::hook_chdir
        • Function gkfs::hook::hook_close
        • Function gkfs::hook::hook_dup
        • Function gkfs::hook::hook_dup2
        • Function gkfs::hook::hook_dup3
        • Function gkfs::hook::hook_faccessat
        • Function gkfs::hook::hook_fadvise64
        • Function gkfs::hook::hook_fallocate
        • Function gkfs::hook::hook_fchdir
        • Function gkfs::hook::hook_fchmod
        • Function gkfs::hook::hook_fchmodat
        • Function gkfs::hook::hook_fcntl
        • Function gkfs::hook::hook_flistxattr
        • Function gkfs::hook::hook_flock
        • Function gkfs::hook::hook_fstat
        • Function gkfs::hook::hook_fstatat
        • Function gkfs::hook::hook_fstatfs
        • Function gkfs::hook::hook_fsync
        • Function gkfs::hook::hook_ftruncate
        • Function gkfs::hook::hook_getcwd
        • Function gkfs::hook::hook_getdents
        • Function gkfs::hook::hook_getdents64
        • Function gkfs::hook::hook_getxattr
        • Function gkfs::hook::hook_lgetxattr
        • Function gkfs::hook::hook_listxattr
        • Function gkfs::hook::hook_llistxattr
        • Function gkfs::hook::hook_lseek
        • Function gkfs::hook::hook_lstat
        • Function gkfs::hook::hook_mkdirat
        • Function gkfs::hook::hook_openat
        • Function gkfs::hook::hook_pread
        • Function gkfs::hook::hook_preadv
        • Function gkfs::hook::hook_pwrite
        • Function gkfs::hook::hook_pwritev
        • Function gkfs::hook::hook_read
        • Function gkfs::hook::hook_readlinkat
        • Function gkfs::hook::hook_readv
        • Function gkfs::hook::hook_renameat
        • Function gkfs::hook::hook_stat
        • Function gkfs::hook::hook_statfs
        • Function gkfs::hook::hook_symlinkat
        • Function gkfs::hook::hook_truncate
        • Function gkfs::hook::hook_unlinkat
        • Function gkfs::hook::hook_write
        • Function gkfs::hook::hook_writev
        • Template Function gkfs::log::create_global_logger
        • Function gkfs::log::destroy_global_logger
        • Template Function gkfs::log::detail::format_syscall_info_to
        • Template Function gkfs::log::detail::format_timestamp_to
        • Function gkfs::log::detail::format_timeval
        • Template Function gkfs::log::detail::log_buffer(std::FILE *, Buffer&&)
        • Template Function gkfs::log::detail::log_buffer(int, Buffer&&)
        • Function gkfs::log::detail::log_buffer(int, const void *, std::size_t)
        • Function gkfs::log::detail::mini_gmtime
        • Function gkfs::log::detail::mini_gmtime_r
        • Function gkfs::log::get_global_logger
        • Function gkfs::log::get_level(std::string)
        • Function gkfs::log::get_level(unsigned long)
        • Function gkfs::log::lookup_level_name
        • Function gkfs::log::operator!
        • Function gkfs::log::operator&
        • Function gkfs::log::operator&=
        • Function gkfs::log::operator^
        • Function gkfs::log::operator^=
        • Function gkfs::log::operator|
        • Function gkfs::log::operator|=
        • Function gkfs::log::operator~
        • Function gkfs::log::process_log_options
        • Function gkfs::log::register_global_logger
        • Function gkfs::log::setup
        • Function gkfs::malleable::expand_finalize
        • Function gkfs::malleable::expand_start
        • Function gkfs::malleable::expand_status
        • Function gkfs::malleable::rpc::forward_data
        • Function gkfs::malleable::rpc::forward_expand_finalize
        • Function gkfs::malleable::rpc::forward_expand_start
        • Function gkfs::malleable::rpc::forward_expand_status
        • Function gkfs::malleable::rpc::forward_metadata
        • Function gkfs::metadata::create
        • Function gkfs::metadata::gen_unique_id
        • Function gkfs::metadata::get
        • Function gkfs::metadata::get_dirents
        • Function gkfs::metadata::get_dirents_extended
        • Function gkfs::metadata::get_size(const std::string&)
        • Function gkfs::metadata::get_size(const string&)
        • Function gkfs::metadata::get_str
        • Function gkfs::metadata::remove(const std::string&)
        • Function gkfs::metadata::remove(const string&)
        • Function gkfs::metadata::update(const std::string&, Metadata&)
        • Function gkfs::metadata::update(const string&, Metadata&)
        • Function gkfs::metadata::update_size(const std::string&, size_t, off_t, bool)
        • Function gkfs::metadata::update_size(const string&, size_t, off64_t, bool)
        • Function gkfs::path::absolute_to_relative(const std::string&, const std::string&)
        • Function gkfs::path::absolute_to_relative(const string&, const string&)
        • Function gkfs::path::dirname(const std::string&)
        • Function gkfs::path::dirname(const string&)
        • Function gkfs::path::follow_symlinks
        • Function gkfs::path::get_sys_cwd
        • Function gkfs::path::has_trailing_slash(const std::string&)
        • Function gkfs::path::has_trailing_slash(const string&)
        • Function gkfs::path::init_cwd
        • Function gkfs::path::is_absolute(const std::string&)
        • Function gkfs::path::is_absolute(const string&)
        • Function gkfs::path::is_relative(const std::string&)
        • Function gkfs::path::is_relative(const string&)
        • Function gkfs::path::match_components(const std::string&, unsigned int&, const std::vector<std::string>&)
        • Function gkfs::path::match_components(const string&, unsigned int&, const ::vector<string>&)
        • Function gkfs::path::prepend_path(const std::string&, const char *)
        • Function gkfs::path::prepend_path(const string&, const char *)
        • Function gkfs::path::resolve(const std::string&, bool)
        • Function gkfs::path::resolve(const std::string&, std::string&, bool)
        • Function gkfs::path::resolve(const string&, bool)
        • Function gkfs::path::resolve(const string&, string&, bool)
        • Function gkfs::path::resolve_new(const std::string&)
        • Function gkfs::path::resolve_new(const string&)
        • Function gkfs::path::set_cwd(const std::string&, bool)
        • Function gkfs::path::set_cwd(const string&, bool)
        • Function gkfs::path::set_env_cwd(const std::string&)
        • Function gkfs::path::set_env_cwd(const string&)
        • Function gkfs::path::set_sys_cwd(const std::string&)
        • Function gkfs::path::set_sys_cwd(const string&)
        • Function gkfs::path::split_path(const std::string&)
        • Function gkfs::path::split_path(const string&)
        • Function gkfs::path::unset_env_cwd
        • Function gkfs::preload::hook_guard_wrapper
        • Function gkfs::preload::init_environment
        • Function gkfs::preload::init_ld_env_if_needed
        • Function gkfs::preload::internal_hook_guard_wrapper
        • Function gkfs::preload::start_interception
        • Function gkfs::preload::start_self_interception
        • Function gkfs::preload::stop_interception
        • Function gkfs::rpc::base64_decode
        • Function gkfs::rpc::base64_encode
        • Function gkfs::rpc::bool_to_merc_bool
        • Template Function gkfs::rpc::cleanup
        • Template Function gkfs::rpc::cleanup_respond(hg_handle_t *, InputType *, OutputType *, hg_bulk_t *)
        • Template Function gkfs::rpc::cleanup_respond(hg_handle_t *, InputType *, OutputType *)
        • Template Function gkfs::rpc::cleanup_respond(hg_handle_t *, OutputType *)
        • Function gkfs::rpc::compress_bitset
        • Function gkfs::rpc::decompress_bitset
        • Function gkfs::rpc::forward_create(const std::string&, mode_t, const int)
        • Function gkfs::rpc::forward_create(const std::string&, const mode_t)
        • Function gkfs::rpc::forward_create_proxy
        • Function gkfs::rpc::forward_decr_size(const std::string&, size_t, const int)
        • Function gkfs::rpc::forward_decr_size(const std::string&, size_t)
        • Function gkfs::rpc::forward_decr_size_proxy
        • Function gkfs::rpc::forward_get_chunk_stat
        • Function gkfs::rpc::forward_get_chunk_stat_proxy
        • Function gkfs::rpc::forward_get_dirents(const std::string&)
        • Function gkfs::rpc::forward_get_dirents(const string&)
        • Function gkfs::rpc::forward_get_dirents_single(const std::string&, int)
        • Function gkfs::rpc::forward_get_dirents_single(const std::string&, int, void *, const size_t)
        • Function gkfs::rpc::forward_get_dirents_single(const string&, int)
        • Function gkfs::rpc::forward_get_dirents_single_proxy(const std::string&, int)
        • Function gkfs::rpc::forward_get_dirents_single_proxy(const string&, int)
        • Function gkfs::rpc::forward_get_fs_config
        • Function gkfs::rpc::forward_get_metadentry_size(const std::string&, const int)
        • Function gkfs::rpc::forward_get_metadentry_size(const std::string&)
        • Function gkfs::rpc::forward_get_metadentry_size(const string&)
        • Function gkfs::rpc::forward_get_metadentry_size_proxy
        • Function gkfs::rpc::forward_read(const std::string&, void *, off64_t, size_t, const int8_t, std::set<int8_t>&)
        • Function gkfs::rpc::forward_read(const std::string&, void *, int64_t, size_t)
        • Function gkfs::rpc::forward_read(const string&, void *, const off64_t, const size_t, const int8_t, std::set<int8_t>&)
        • Function gkfs::rpc::forward_read_proxy(const std::string&, void *, off64_t, size_t)
        • Function gkfs::rpc::forward_read_proxy(const string&, void *, const off64_t, const size_t)
        • Function gkfs::rpc::forward_remove(const std::string&, bool, const int8_t)
        • Function gkfs::rpc::forward_remove(const std::string&, bool)
        • Function gkfs::rpc::forward_remove_proxy
        • Function gkfs::rpc::forward_stat(const std::string&, std::string&, const int)
        • Function gkfs::rpc::forward_stat(const std::string&)
        • Function gkfs::rpc::forward_stat(const std::string&, string&, const int)
        • Function gkfs::rpc::forward_stat_proxy(const std::string&, std::string&)
        • Function gkfs::rpc::forward_stat_proxy(const std::string&, string&)
        • Function gkfs::rpc::forward_truncate(const std::string&, size_t, size_t, const int8_t)
        • Function gkfs::rpc::forward_truncate(const std::string&, size_t, size_t)
        • Function gkfs::rpc::forward_truncate_proxy
        • Function gkfs::rpc::forward_update_metadentry(const std::string&, const gkfs::metadata::Metadata&, const gkfs::metadata::MetadentryUpdateFlags&, const int)
        • Function gkfs::rpc::forward_update_metadentry(const string&, const gkfs::metadata::Metadata&, const gkfs::metadata::MetadentryUpdateFlags&, const int)
        • Function gkfs::rpc::forward_update_metadentry_size(const std::string&, size_t, off64_t, bool, const int)
        • Function gkfs::rpc::forward_update_metadentry_size(const std::string&, const size_t, const off64_t, const bool)
        • Function gkfs::rpc::forward_update_metadentry_size(const string&, const size_t, const off64_t, const bool, const int)
        • Function gkfs::rpc::forward_update_metadentry_size(const string&, const size_t, const off64_t, const bool)
        • Function gkfs::rpc::forward_update_metadentry_size_proxy(const std::string&, const size_t, const off64_t, const bool)
        • Function gkfs::rpc::forward_update_metadentry_size_proxy(const string&, const size_t, const off64_t, const bool)
        • Function gkfs::rpc::forward_write(const std::string&, const void *, off64_t, size_t, const int8_t)
        • Function gkfs::rpc::forward_write(const std::string&, void *, int64_t, size_t)
        • Function gkfs::rpc::forward_write(const string&, const void *, const off64_t, const size_t, const int8_t)
        • Function gkfs::rpc::forward_write_proxy(const std::string&, const void *, off64_t, size_t)
        • Function gkfs::rpc::forward_write_proxy(const string&, const void *, off64_t, size_t)
        • Function gkfs::rpc::get_bitset
        • Function gkfs::rpc::get_my_hostname
        • Template Function gkfs::rpc::respond
        • Function gkfs::rpc::set_bitset
        • Function gkfs::syscall::always_returns
        • Template Function gkfs::syscall::arg::format_arg_to
        • Template Function gkfs::syscall::arg::format_atfd_arg_to
        • Template Function gkfs::syscall::arg::format_clone_flags_arg_to
        • Template Function gkfs::syscall::arg::format_cstr_arg_to
        • Template Function gkfs::syscall::arg::format_dec32_arg_to
        • Template Function gkfs::syscall::arg::format_dec_arg_to
        • Template Function gkfs::syscall::arg::format_fd_arg_to
        • Template Function gkfs::syscall::arg::format_flag
        • Template Function gkfs::syscall::arg::format_flag_set
        • Template Function gkfs::syscall::arg::format_mmap_flags_arg_to
        • Template Function gkfs::syscall::arg::format_mmap_prot_arg_to
        • Template Function gkfs::syscall::arg::format_none_arg_to
        • Template Function gkfs::syscall::arg::format_octal_mode_to
        • Template Function gkfs::syscall::arg::format_open_flags_to
        • Template Function gkfs::syscall::arg::format_ptr_arg_to
        • Template Function gkfs::syscall::arg::format_signum_arg_to
        • Template Function gkfs::syscall::arg::format_sigproc_how_arg_to
        • Template Function gkfs::syscall::arg::format_whence_arg_to
        • Template Function gkfs::syscall::decode(FmtBuffer&, const long, const long)
        • Template Function gkfs::syscall::decode(FmtBuffer&, const long, const long, const long)
        • Function gkfs::syscall::errno_message
        • Function gkfs::syscall::errno_name
        • Function gkfs::syscall::error_code
        • Function gkfs::syscall::execution_is_pending
        • Function gkfs::syscall::gkfs_access
        • Function gkfs::syscall::gkfs_close
        • Function gkfs::syscall::gkfs_create
        • Function gkfs::syscall::gkfs_do_read
        • Function gkfs::syscall::gkfs_do_write
        • Function gkfs::syscall::gkfs_dup
        • Function gkfs::syscall::gkfs_dup2
        • Function gkfs::syscall::gkfs_fsync
        • Function gkfs::syscall::gkfs_get_file_list
        • Function gkfs::syscall::gkfs_getdents
        • Function gkfs::syscall::gkfs_getdents64
        • Function gkfs::syscall::gkfs_lseek(unsigned int, off64_t, unsigned int)
        • Function gkfs::syscall::gkfs_lseek(std::shared_ptr<gkfs::filemap::OpenFile>, off64_t, unsigned int)
        • Function gkfs::syscall::gkfs_lseek(unsigned int, off_t, unsigned int)
        • Function gkfs::syscall::gkfs_lseek(shared_ptr<gkfs::filemap::OpenFile>, off_t, unsigned int)
        • Function gkfs::syscall::gkfs_open
        • Function gkfs::syscall::gkfs_opendir
        • Function gkfs::syscall::gkfs_pread
        • Function gkfs::syscall::gkfs_preadv
        • Function gkfs::syscall::gkfs_pwrite
        • Function gkfs::syscall::gkfs_pwritev
        • Function gkfs::syscall::gkfs_read
        • Function gkfs::syscall::gkfs_read_ws
        • Function gkfs::syscall::gkfs_readv
        • Function gkfs::syscall::gkfs_remove
        • Function gkfs::syscall::gkfs_rmdir
        • Function gkfs::syscall::gkfs_stat(const std::string&, struct stat *, bool)
        • Function gkfs::syscall::gkfs_stat(const string&, struct stat *, bool)
        • Function gkfs::syscall::gkfs_statfs
        • Function gkfs::syscall::gkfs_statvfs
        • Function gkfs::syscall::gkfs_truncate(const std::string&, off_t)
        • Function gkfs::syscall::gkfs_truncate(const std::string&, off_t, off_t)
        • Function gkfs::syscall::gkfs_write
        • Function gkfs::syscall::gkfs_write_ws
        • Function gkfs::syscall::gkfs_writev
        • Function gkfs::syscall::is_handled_by_kernel
        • Function gkfs::syscall::lookup_by_name
        • Function gkfs::syscall::lookup_by_number(const long)
        • Function gkfs::syscall::lookup_by_number(const long, const long)
        • Function gkfs::syscall::may_not_return
        • Function gkfs::syscall::never_returns
        • Function gkfs::syscall::operator&
        • Function gkfs::syscall::operator&=
        • Function gkfs::syscall::operator^
        • Function gkfs::syscall::operator^=
        • Function gkfs::syscall::operator|
        • Function gkfs::syscall::operator|=
        • Function gkfs::syscall::operator~
        • Function gkfs::syscall::origin
        • Template Function gkfs::syscall::ret::format_dec_ret_to
        • Template Function gkfs::syscall::ret::format_none_ret_to
        • Template Function gkfs::syscall::ret::format_ptr_ret_to
        • Function gkfs::syscall::target
        • Function gkfs::util::check_for_hosts_file
        • Function gkfs::util::connect_to_hosts(const std::vector<std::pair<std::string, std::string>>&)
        • Function gkfs::util::connect_to_hosts(const vector<pair<string, string>>&)
        • Function gkfs::util::create_proxy_pid_file
        • Function gkfs::util::is_proxy_already_running
        • Function gkfs::util::read_hosts_file
        • Function gkfs::util::remove_proxy_pid_file
        • Function gkfs::utils::arithmetic::align_left
        • Function gkfs::utils::arithmetic::align_right
        • Function gkfs::utils::arithmetic::block_count
        • Function gkfs::utils::arithmetic::block_index
        • Function gkfs::utils::arithmetic::block_overrun
        • Function gkfs::utils::arithmetic::block_underrun
        • Function gkfs::utils::arithmetic::is_aligned
        • Function gkfs::utils::arithmetic::is_power_of_2
        • Function gkfs::utils::arithmetic::log2
        • Function gkfs::utils::check_for_proxy
        • Function gkfs::utils::connect_to_hosts(const std::vector<std::pair<std::string, std::string>>&)
        • Function gkfs::utils::connect_to_hosts(const vector<pair<string, string>>&)
        • Function gkfs::utils::destroy_hosts_file
        • Function gkfs::utils::get_metadata(const std::string&, bool)
        • Function gkfs::utils::get_metadata(const string&, bool)
        • Function gkfs::utils::load_forwarding_map
        • Function gkfs::utils::load_forwarding_map_file
        • Function gkfs::utils::load_hosts
        • Function gkfs::utils::lookup_proxy_addr
        • Template Function gkfs::utils::make_array
        • Function gkfs::utils::metadata_to_stat
        • Function gkfs::utils::populate_hosts_file
        • Function gkfs::utils::read_hosts_file
        • Template Function gkfs::utils::to_underlying
        • Function gkfs::utils::update_file_size
        • Function gkfs_end()
        • Function gkfs_end()
        • Function gkfs_getsingleserverdir(const char *, struct dirent_extended *, unsigned int, int)
        • Function gkfs_getsingleserverdir(const char *, struct dirent_extended *, unsigned int, int)
        • Function gkfs_init()
        • Function gkfs_init()
        • Function helpers::load_string_file
        • Function helpers::random_string
        • Function init_environment()
        • Function init_environment(const string&, const string&)
        • Function init_io_tasklet_pool
        • Function init_ipc_server
        • Function init_preload()
        • Function init_preload()
        • Function init_proxy_rpc_server
        • Function init_rpc_client()
        • Function init_rpc_client(const string&)
        • Function init_rpc_server
        • Function initialize_loggers()
        • Function initialize_loggers()
        • Function main(int, const char *)
        • Function main(int, const char *)
        • Function parse_input
        • Function proxy_rpc_srv_chunk_stat
        • Function proxy_rpc_srv_create
        • Function proxy_rpc_srv_decr_size
        • Function proxy_rpc_srv_get_dirents_extended
        • Function proxy_rpc_srv_get_metadentry_size
        • Function proxy_rpc_srv_read
        • Function proxy_rpc_srv_remove
        • Function proxy_rpc_srv_stat
        • Function proxy_rpc_srv_truncate
        • Function proxy_rpc_srv_update_metadentry_size
        • Function proxy_rpc_srv_write
        • Function register_client_rpcs(margo_instance_id)
        • Function register_client_rpcs(margo_instance_id)
        • Function register_proxy_server_rpcs
        • Function register_server_ipcs
        • Function register_server_rpcs
        • Function shutdown_handler(int)
        • Function shutdown_handler(int)
        • Function syscall_error_code
        • Function syscall_no_intercept
        • Template Function syscall_no_intercept_wrapper
      • Variables
      • Defines
      • Typedefs
GekkoFS
  • Reference
  • Function gkfs::path::follow_symlinks
  • View page source

Function gkfs::path::follow_symlinks

  • Defined in File path.cpp

Function Documentation

string gkfs::path::follow_symlinks(const string &path)
Next Previous

© Copyright 2018-2025, Barcelona Supercomputing Center, Spain.
© Copyright 2015-2025, Johannes Gutenberg Universitaet Mainz, Germany.

Built with Sphinx using a theme provided by Read the Docs.