Draft: Replica leverage

We should be able to do an ior and destroy a deamon and continue.

Merge request reports

Loading
+0 −1
Changes for CMake/gkfs-config-report.txt.in: 0 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ GKFS_ENABLE_UNUSED_FUNCTIONS=@GKFS_ENABLE_UNUSED_FUNCTIONS@
GKFS_FOLLOW_EXTERNAL_SYMLINKS=@GKFS_FOLLOW_EXTERNAL_SYMLINKS@
GKFS_USE_GUIDED_DISTRIBUTION=@GKFS_USE_GUIDED_DISTRIBUTION@
GKFS_USE_GUIDED_DISTRIBUTION_PATH=@GKFS_USE_GUIDED_DISTRIBUTION_PATH@
GKFS_USE_LEGACY_PATH_RESOLVE=@GKFS_USE_LEGACY_PATH_RESOLVE@

Limits and reporting
--------------------
+0 −7
Changes for CMake/gkfs-options.cmake: 0 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -264,13 +264,6 @@ gkfs_define_option(
    DEFAULT_VALUE ON
)

# use old resolve function
gkfs_define_option(
    GKFS_USE_LEGACY_PATH_RESOLVE
    HELP_TEXT "Use the old implementation of the resolve function"
    DEFAULT_VALUE OFF
)

cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS_BUILD_TESTS" OFF)


+14 −1
Changes for docs/sphinx/users/running.md: 14 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -364,6 +364,19 @@ This is disabled by default.
#### Replication

The user can enable the data replication feature by setting the replication environment variable:
`LIBGKFS_NUM_REPL=<num repl>`.
`GKFS_NUM_REPL=<num repl>`.
The number of replicas should go from `0` to the `number of servers - 1`. The replication environment variable can be
set up for each client independently.

Simple-hash replication supports mutation when `GKFS_NUM_REPL` is set
consistently for clients and daemons and the new host count is greater than the
replica count.
Random Slicing with replication remains rejected because independent replica
placement is not defined for that strategy.
Migration plans validate copy indices and placement generations before I/O.

For client-local repair recovery, set `LIBGKFS_REPAIR_JOURNAL_PATH` to a writable
journal path. One client process owns a journal at a time. The adjacent `.lock`
sidecar records the owner and a fingerprint of the configured hosts file; do not
share a journal across client processes or reuse it after changing the topology.
Use `LIBGKFS_REPAIR_STATUS_PATH` to publish a client-local repair queue snapshot.
 No newline at end of file
+4 −3
Changes for examples/gfind/gfind.cpp: 4 added lines, 3 removed lines.
Original line number Diff line number Diff line
/*
  Copyright 2018-2025, Barcelona Supercomputing Center (BSC), Spain
  Copyright 2015-2025, Johannes Gutenberg Universitaet Mainz, Germany
  Copyright 2018-2026, Barcelona Supercomputing Center (BSC), Spain
  Copyright 2015-2026, Johannes Gutenberg Universitaet Mainz, Germany

  This software was partially supported by the
  EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).
@@ -31,7 +31,8 @@
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with GekkoFS.  If not, see <https://www.gnu.org/licenses/>.
  along with GekkoFS.  If not, see
  <https://www.gnu.org/licenses/>.

  SPDX-License-Identifier: GPL-3.0-or-later
*/
+39 −0
Changes for examples/gfind/sfind.cpp: 39 added lines, 0 removed lines.
Original line number Diff line number Diff line
/*
  Copyright 2018-2026, Barcelona Supercomputing Center (BSC), Spain
  Copyright 2015-2026, Johannes Gutenberg Universitaet Mainz, Germany

  This software was partially supported by the
  EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).

  This software was partially supported by the
  ADA-FS project under the SPPEXA project funded by the DFG.

  This software was partially supported by the
  the European Union’s Horizon 2020 JTI-EuroHPC research and
  innovation programme, by the project ADMIRE (Project ID: 956748,
  admire-eurohpc.eu)

  This project was partially promoted by the Ministry for Digital Transformation
  and the Civil Service, within the framework of the Recovery,
  Transformation and Resilience Plan - Funded by the European Union
  -NextGenerationEU.

  This file is part of GekkoFS.

  GekkoFS is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  GekkoFS is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with GekkoFS.  If not, see
  <https://www.gnu.org/licenses/>.

  SPDX-License-Identifier: GPL-3.0-or-later
*/

#include <algorithm>
#include <cerrno>
#include <climits>
Loading
Loading