Loading src/client/gkfs_libc.cpp +8 −9 Original line number Diff line number Diff line Loading @@ -2506,10 +2506,10 @@ chown(const char* path, uid_t owner, gid_t group) throw() { std::string resolved; if(resolve_gkfs_path(AT_FDCWD, path, resolved) == PathStatus::Internal) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); errno = ENOTSUP; return -1; return 0; } if(errno != 0 && (errno == ENOTDIR || errno == EBADF)) return -1; Loading @@ -2521,10 +2521,9 @@ int fchown(int fd, uid_t owner, gid_t group) throw() { gkfs_init_routine_placeholder(); if(CTX->interception_enabled() && is_gkfs_fd(fd)) { LOG(WARNING, "{}() chown is not supported for GekkoFS fd '{}'", LOG(WARNING, "{}() chown on GekkoFS fd '{}' ignored; returning success", __func__, fd); errno = ENOTSUP; return -1; return 0; } GKFS_FALLBACK(fchown, fd, owner, group); } Loading @@ -2536,10 +2535,10 @@ lchown(const char* path, uid_t owner, gid_t group) throw() { std::string resolved; if(resolve_gkfs_path(AT_FDCWD, path, resolved) == PathStatus::Internal) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); errno = ENOTSUP; return -1; return 0; } if(errno != 0 && (errno == ENOTDIR || errno == EBADF)) return -1; Loading src/client/hooks.cpp +11 −12 Original line number Diff line number Diff line Loading @@ -957,9 +957,9 @@ hook_lchown(const char* path, uid_t owner, gid_t group) { std::string resolved; if(CTX->relativize_path(path, resolved)) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", __func__); errno = ENOTSUP; return -1; LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); return 0; } #ifdef SYS_lchown return syscall_no_intercept_wrapper(SYS_lchown, path, owner, group); Loading @@ -979,9 +979,9 @@ hook_chown(const char* path, uid_t owner, gid_t group) { std::string resolved; if(CTX->relativize_path(path, resolved)) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", __func__); errno = ENOTSUP; return -1; LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); return 0; } #ifdef SYS_chown return syscall_no_intercept_wrapper(SYS_chown, path, owner, group); Loading @@ -997,10 +997,9 @@ hook_fchown(unsigned int fd, uid_t owner, gid_t group) { owner, group); if(CTX->file_map()->exist(fd)) { LOG(WARNING, "{}() chown is not supported for GekkoFS fd '{}'", LOG(WARNING, "{}() chown on GekkoFS fd '{}' ignored; returning success", __func__, fd); errno = ENOTSUP; return -1; return 0; } return syscall_no_intercept_wrapper(SYS_fchown, fd, owner, group); } Loading @@ -1025,9 +1024,9 @@ hook_fchownat(int dirfd, const char* cpath, uid_t owner, gid_t group, resolve_flags, follow); if(rstatus == gkfs::preload::RelativizeStatus::internal) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", __func__); errno = ENOTSUP; return -1; LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); return 0; } return syscall_no_intercept_wrapper(SYS_fchownat, dirfd, cpath, owner, group, flags); Loading Loading
src/client/gkfs_libc.cpp +8 −9 Original line number Diff line number Diff line Loading @@ -2506,10 +2506,10 @@ chown(const char* path, uid_t owner, gid_t group) throw() { std::string resolved; if(resolve_gkfs_path(AT_FDCWD, path, resolved) == PathStatus::Internal) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); errno = ENOTSUP; return -1; return 0; } if(errno != 0 && (errno == ENOTDIR || errno == EBADF)) return -1; Loading @@ -2521,10 +2521,9 @@ int fchown(int fd, uid_t owner, gid_t group) throw() { gkfs_init_routine_placeholder(); if(CTX->interception_enabled() && is_gkfs_fd(fd)) { LOG(WARNING, "{}() chown is not supported for GekkoFS fd '{}'", LOG(WARNING, "{}() chown on GekkoFS fd '{}' ignored; returning success", __func__, fd); errno = ENOTSUP; return -1; return 0; } GKFS_FALLBACK(fchown, fd, owner, group); } Loading @@ -2536,10 +2535,10 @@ lchown(const char* path, uid_t owner, gid_t group) throw() { std::string resolved; if(resolve_gkfs_path(AT_FDCWD, path, resolved) == PathStatus::Internal) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); errno = ENOTSUP; return -1; return 0; } if(errno != 0 && (errno == ENOTDIR || errno == EBADF)) return -1; Loading
src/client/hooks.cpp +11 −12 Original line number Diff line number Diff line Loading @@ -957,9 +957,9 @@ hook_lchown(const char* path, uid_t owner, gid_t group) { std::string resolved; if(CTX->relativize_path(path, resolved)) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", __func__); errno = ENOTSUP; return -1; LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); return 0; } #ifdef SYS_lchown return syscall_no_intercept_wrapper(SYS_lchown, path, owner, group); Loading @@ -979,9 +979,9 @@ hook_chown(const char* path, uid_t owner, gid_t group) { std::string resolved; if(CTX->relativize_path(path, resolved)) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", __func__); errno = ENOTSUP; return -1; LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); return 0; } #ifdef SYS_chown return syscall_no_intercept_wrapper(SYS_chown, path, owner, group); Loading @@ -997,10 +997,9 @@ hook_fchown(unsigned int fd, uid_t owner, gid_t group) { owner, group); if(CTX->file_map()->exist(fd)) { LOG(WARNING, "{}() chown is not supported for GekkoFS fd '{}'", LOG(WARNING, "{}() chown on GekkoFS fd '{}' ignored; returning success", __func__, fd); errno = ENOTSUP; return -1; return 0; } return syscall_no_intercept_wrapper(SYS_fchown, fd, owner, group); } Loading @@ -1025,9 +1024,9 @@ hook_fchownat(int dirfd, const char* cpath, uid_t owner, gid_t group, resolve_flags, follow); if(rstatus == gkfs::preload::RelativizeStatus::internal) { LOG(WARNING, "{}() chown is not supported for GekkoFS paths", __func__); errno = ENOTSUP; return -1; LOG(WARNING, "{}() chown on GekkoFS path ignored; returning success", __func__); return 0; } return syscall_no_intercept_wrapper(SYS_fchownat, dirfd, cpath, owner, group, flags); Loading