Loading .gitlab-ci.yml +0 −3 Original line number Diff line number Diff line Loading @@ -62,9 +62,6 @@ gkfs: - sed -i 's/constexpr bool use_dentry_cache = false;/constexpr bool use_dentry_cache = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" #- sed -i 's/constexpr auto zero_buffer_before_read = false;/constexpr auto zero_buffer_before_read = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" #- sed -i 's/constexpr auto implicit_data_removal = true;/constexpr auto implicit_data_removal = false;/g' "${CI_PROJECT_DIR}/include/config.hpp" # install libfuse - apt-get update - apt-get install -y libfuse3-dev fuse3 # use ccache - ccache --zero-stats -M 750MiB -F 800 --evict-older-than 10d - /usr/sbin/update-ccache-symlinks Loading docker/0.9.6/deps/Dockerfile +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ RUN apt-get update && \ python3-venv \ python3-setuptools \ libnuma-dev libyaml-dev libcurl4-openssl-dev \ libfuse3-dev fuse3 \ procps && \ rm -rf /var/lib/apt/lists/* && \ apt-get clean && apt-get autoclean Loading docker/0.9.6/release/Dockerfile +4 −2 Original line number Diff line number Diff line # syntax=docker/dockerfile:1 # Builder stage FROM debian:bookworm-slim AS builder FROM debian:trixie-slim AS builder # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ Loading @@ -25,6 +25,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libcurl4-openssl-dev \ libffi-dev \ zlib1g-dev \ libfuse3-dev \ python3 \ perl \ patch \ Loading Loading @@ -82,7 +83,7 @@ RUN cmake \ make install # Runtime stage FROM debian:bookworm-slim FROM debian:trixie-slim # Install runtime dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ Loading @@ -94,6 +95,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libcap2 \ libzmq5 \ liburing2 \ fuse3 \ && rm -rf /var/lib/apt/lists/* # Copy GekkoFS artifacts Loading src/daemon/handler/srv_metadata.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ * @endinternal */ #include <cerrno> #include <daemon/handler/rpc_defs.hpp> #include <daemon/handler/rpc_util.hpp> #include <daemon/backend/metadata/db.hpp> Loading Loading @@ -1070,9 +1071,10 @@ rpc_srv_read_data_inline(const tl::request& req, if(md.size() > 0 && stored_data.empty()) { // Inline data key missing despite non-zero metadata size // Treat as empty file or error state // It might be that the file is in chunks (e.g., after a // truncate) out.err = EAGAIN; out.count = 0; out.err = 0; } else if(in.offset >= stored_data.size()) { // EOF out.count = 0; Loading tests/integration/CMakeLists.txt +10 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,16 @@ if (GKFS_BUILD_FUSE) WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests/integration SOURCE fuse/ ) if (GKFS_INSTALL_TESTS) install(DIRECTORY fuse DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gkfs/tests/integration FILES_MATCHING REGEX ".*\\.py" PATTERN "__pycache__" EXCLUDE PATTERN ".pytest_cache" EXCLUDE ) endif () endif () if (GKFS_INSTALL_TESTS) Loading Loading
.gitlab-ci.yml +0 −3 Original line number Diff line number Diff line Loading @@ -62,9 +62,6 @@ gkfs: - sed -i 's/constexpr bool use_dentry_cache = false;/constexpr bool use_dentry_cache = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" #- sed -i 's/constexpr auto zero_buffer_before_read = false;/constexpr auto zero_buffer_before_read = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" #- sed -i 's/constexpr auto implicit_data_removal = true;/constexpr auto implicit_data_removal = false;/g' "${CI_PROJECT_DIR}/include/config.hpp" # install libfuse - apt-get update - apt-get install -y libfuse3-dev fuse3 # use ccache - ccache --zero-stats -M 750MiB -F 800 --evict-older-than 10d - /usr/sbin/update-ccache-symlinks Loading
docker/0.9.6/deps/Dockerfile +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ RUN apt-get update && \ python3-venv \ python3-setuptools \ libnuma-dev libyaml-dev libcurl4-openssl-dev \ libfuse3-dev fuse3 \ procps && \ rm -rf /var/lib/apt/lists/* && \ apt-get clean && apt-get autoclean Loading
docker/0.9.6/release/Dockerfile +4 −2 Original line number Diff line number Diff line # syntax=docker/dockerfile:1 # Builder stage FROM debian:bookworm-slim AS builder FROM debian:trixie-slim AS builder # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ Loading @@ -25,6 +25,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libcurl4-openssl-dev \ libffi-dev \ zlib1g-dev \ libfuse3-dev \ python3 \ perl \ patch \ Loading Loading @@ -82,7 +83,7 @@ RUN cmake \ make install # Runtime stage FROM debian:bookworm-slim FROM debian:trixie-slim # Install runtime dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ Loading @@ -94,6 +95,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libcap2 \ libzmq5 \ liburing2 \ fuse3 \ && rm -rf /var/lib/apt/lists/* # Copy GekkoFS artifacts Loading
src/daemon/handler/srv_metadata.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ * @endinternal */ #include <cerrno> #include <daemon/handler/rpc_defs.hpp> #include <daemon/handler/rpc_util.hpp> #include <daemon/backend/metadata/db.hpp> Loading Loading @@ -1070,9 +1071,10 @@ rpc_srv_read_data_inline(const tl::request& req, if(md.size() > 0 && stored_data.empty()) { // Inline data key missing despite non-zero metadata size // Treat as empty file or error state // It might be that the file is in chunks (e.g., after a // truncate) out.err = EAGAIN; out.count = 0; out.err = 0; } else if(in.offset >= stored_data.size()) { // EOF out.count = 0; Loading
tests/integration/CMakeLists.txt +10 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,16 @@ if (GKFS_BUILD_FUSE) WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests/integration SOURCE fuse/ ) if (GKFS_INSTALL_TESTS) install(DIRECTORY fuse DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gkfs/tests/integration FILES_MATCHING REGEX ".*\\.py" PATTERN "__pycache__" EXCLUDE PATTERN ".pytest_cache" EXCLUDE ) endif () endif () if (GKFS_INSTALL_TESTS) Loading