Commit 6bf23eba authored by Ramon Nou's avatar Ramon Nou
Browse files

added rename RPC (still failing something)

parent e1c21da7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -853,7 +853,7 @@ gkfs_truncate(const std::string& path, off_t length) {
            errno = EINVAL;
            return -1;
        }
        gkfs_lseek(output_fd, 0, SEEK_END);
        gkfs_lseek(output_fd, (off64_t) 0, SEEK_END);
        ssize_t n = static_cast<unsigned long>(length) - size;
        // Zeroes the buffer. All make_* are value initialized
        auto buf = std::make_unique<char[]>(n);
+3 −0
Original line number Diff line number Diff line
@@ -62,6 +62,9 @@ hermes::detail::register_user_request_types(uint32_t provider_id) {
#ifdef HAS_SYMLINKS
        (void) registered_requests().add<gkfs::rpc::mk_symlink>(provider_id);
#endif // HAS_SYMLINKS
#ifdef HAS_RENAME
        (void) registered_requests().add<gkfs::rpc::rename>(provider_id);
#endif // HAS_RENAME
        (void) registered_requests().add<gkfs::rpc::remove_data>(provider_id);
        (void) registered_requests().add<gkfs::rpc::write_data>(provider_id);
        (void) registered_requests().add<gkfs::rpc::read_data>(provider_id);
+3 −2
Original line number Diff line number Diff line
@@ -849,7 +849,7 @@ rpc_srv_get_dirents_extended(hg_handle_t handle) {

#if defined(HAS_SYMLINKS)
/**
 * @brief Serves a request create a symbolic link and supports rename
 * @brief Serves a request create a symbolic link
 * @internal
 * The state of this function is unclear and requires a complete refactor.
 *
@@ -878,6 +878,7 @@ rpc_srv_mk_symlink(hg_handle_t handle) {

        md.target_path(in.target_path);
        md.mode(S_IFLNK);
        md.blocks(0);

        GKFS_DATA->spdlogger()->debug(
                "{}() Updating path '{}' with metadata '{}'", __func__, in.path,
@@ -937,7 +938,7 @@ rpc_srv_rename(hg_handle_t handle) {
        if(md.blocks() == -1) {
            // We need to fill the rename path as this is an inverse path
            // old -> new
            md.rename_path(in.target_path);
            md.target_path(in.target_path);
        }
        GKFS_DATA->spdlogger()->debug(
                "{}() Updating path '{}' with metadata '{}'", __func__, in.path,