Rnou/java testing

Closes #362 (closed)

Merge request reports

Loading
+10 −0
Changes for docker/0.9.5/java/Dockerfile: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
FROM gekkofs/testing:0.9.5

LABEL Description="Debian-based environment to run java"
ARG DEBIAN_FRONTEND=noninteractive

# Install runtime dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    openjdk-25-jdk-headless \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get clean 
 No newline at end of file
+10 −0
Changes for docker/0.9.5/java/Makefile: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
.PHONY: all

amd64:
	docker build --platform amd64 -t gekkofs/java:0.9.5 .

aarch64:
	docker build --platform aarch64 -t gekkofs/java:0.9.5 .

all:
	docker build -t gekkofs/java:0.9.5 .
+1 −1
Changes for src/client/syscalls/detail/syscall_info.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -642,7 +642,7 @@ SYSCALL(getpmsg, 5, S_RET(rdec), S_NARG(arg, "arg0"),
    SYSCALL(pidfd_open,              2,  S_RET(rdec),    S_NARG(dec, "pid"),            S_NARG(arg, "flags")),
#endif
#ifdef SYS_clone3
    SYSCALL(clone3,                   4,  S_RET(rdec),    S_NARG(clone3_args, "flags"),          S_NARG(arg, "size")),
    SYSCALL(clone3,                  2,  S_RET(rdec),    S_NARG(clone3_args, "flags"),          S_NARG(arg, "size")),
#endif
#ifdef SYS_close_range
    SYSCALL(close_range,             3,  S_RET(rdec),    S_NARG(dec, "low"),            S_NARG(dec, "high"),            S_NARG(arg, "flags")),
+0 −28
Changes for src/client/gkfs_libc.cpp: 0 added lines, 28 removed lines.
Original line number Diff line number Diff line
@@ -605,11 +605,6 @@ DLSYM_WRAPPER(int, dup2, (int fd, int fd2), (fd, fd2), "dup2")
DLSYM_WRAPPER(int, dup3, (int fd, int fd2, int flags), (fd, fd2, flags), "dup3")
static int (*real_fcntl)(int fd, int cmd,
                         ...) = nullptr; // Special handling for variadic fcntl
DLSYM_WRAPPER(void, exit, (int status), (status), "exit")
#ifdef GKFS_ENABLE_UNUSED_FUNCTIONS
DLSYM_WRAPPER(int, pipe, (int pipefd[2]), (pipefd), "pipe")
#endif

// Memory Mapping
DLSYM_WRAPPER(void*, mmap,
              (void* addr, size_t length, int prot, int flags, int fd,
@@ -2437,29 +2432,6 @@ fcntl(int fd, int cmd, ...) {
    }
}

#ifdef GKFS_ENABLE_UNUSED_FUNCTIONS
void
exit(int status) {
    // GekkoFS cleanup might be needed before exit (e.g., flushing,
    // releasing resources) This should ideally be in CTX destructor or a
    // dedicated shutdown function.
    DEBUG_INFO("[GKFS] exit(status={})", status);
    // gkfs::PreloadContext::getInstance()->shutdown(); // Example
    dlsym_exit(status);
    __builtin_unreachable(); // To tell compiler exit doesn't return
}

int
pipe(int pipefd[2]) {
    gkfs_init_routine_placeholder();
    // Pipes are usually not intercepted by file system shims unless they
    // are named pipes (FIFOs) and GekkoFS implements them. Standard
    // anonymous pipes are kernel objects.
    DEBUG_INFO("[BYPASS] pipe()");
    return dlsym_pipe(pipefd);
}
#endif

//------------------------- Memory Mapping
//-----------------------------------//

+3 −2
Changes for src/client/hooks.cpp: 3 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -717,7 +717,8 @@ hook_chdir(const char* path) {
    bool internal = CTX->relativize_path(path, rel_path);
    if(internal) {
        // path falls in our namespace
        auto md = gkfs::utils::get_metadata(rel_path);
        /* This get_metadata gets stuck after a forkandExec */
        /*auto md = gkfs::utils::get_metadata(rel_path);
        if(!md) {
            LOG(ERROR, "{}() path {} / {} errno {}", __func__, path, rel_path,
                errno);
@@ -727,7 +728,7 @@ hook_chdir(const char* path) {
        if(!S_ISDIR(md->mode())) {
            LOG(ERROR, "{}() path is not a directory", __func__);
            return -ENOTDIR;
        }
        }*/
        // TODO get complete path from relativize_path instead of
        // removing mountdir and then adding again here
        rel_path.insert(0, CTX->mountdir());
Loading
Loading