Commit e5b924aa authored by Ramon Nou's avatar Ramon Nou Committed by Ramon Nou
Browse files

Change CMake to remove Forward, changelog

parent 9db7accb
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)).
- Modified write and reads to use a bitset instead of the traditional hash per chunk in the server.
- Added reattemp support in get_fs_config to other servers, when the initial server fails.
- Fused GekkoFWD and GekkoFS. GekkoFWD is enabled with the `--enable-following` in the server configuration and the ENV variable
`LIBGKFS_FORWARDING_MAP_FILE` in the clients. ([!170](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/170)).

### New
### Changed
+0 −8
Original line number Diff line number Diff line
@@ -348,14 +348,6 @@ gkfs_define_option(
# I/O forwarding
################################################################################

## Forwarding support
gkfs_define_option(
  GKFS_ENABLE_FORWARDING
  HELP_TEXT "Enable I/O forwarding mode"
  DEFAULT_VALUE OFF
  DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer"
)

## Scheduling in I/O forwarding mode
gkfs_define_option(
  GKFS_ENABLE_AGIOS
+1 −1
Original line number Diff line number Diff line
@@ -43,4 +43,4 @@ Required
Optional
--------

- `agios <https://github.com/francielizanon/agios>`_ (commit c26a654 or newer) to enable GekkoFWD mode.
- `agios <https://github.com/francielizanon/agios>`_ (commit c26a654 or newer) to enable GekkoFWD mode scheduling.
+5 −7
Original line number Diff line number Diff line
@@ -24,13 +24,11 @@ PFS for storage, instead of a local store available at the compute nodes.
Enabling GekkoFWD
------------------

To enable the I/O forwarding mode of GekkoFS, the
:code:`GKFS_ENABLE_FORWARDING` CMake option should be enabled, :ref:`when
configuring <building_gekkofs>` the build:

.. code-block:: console

    $ cmake -DENABLE_FORWARDING:BOOL=ON
To enable the I/O forwarding mode of GekkoFS, an environment 
variable named :code:`LIBGKFS_FORWARDING_MAP_FILE` is provided
to allow users to identify the map file on each client.
This environment variable will enable GekkoFS forwarding, then we 
only need to use :code:`--enable-forwarding`` option in the servers.

I/O Scheduling
--------------
+5 −51
Original line number Diff line number Diff line
@@ -52,59 +52,13 @@ target_sources(
          syscalls/detail/syscall_info.c
)

target_link_libraries(
  gkfs_intercept
  PRIVATE metadata distributor env_util arithmetic path_util rpc_utils
  PUBLIC Syscall_intercept::Syscall_intercept
         dl
         Mercury::Mercury
         hermes
         fmt::fmt
         Threads::Threads
         Date::TZ
)

install(
  TARGETS gkfs_intercept
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
)

# ##############################################################################
# This builds the `libgkfwd_intercept.so` library: the client for GekkoFS'
# forwarding mode based on syscall interception.
# ##############################################################################

if(GKFS_ENABLE_FORWARDING)
  add_library(gkfwd_intercept SHARED)

  target_sources(
    gkfwd_intercept
    PRIVATE gkfs_functions.cpp
            hooks.cpp
            intercept.cpp
            logging.cpp
            open_file_map.cpp
            open_dir.cpp
            path.cpp
            preload.cpp
            preload_context.cpp
            preload_util.cpp
            rpc/rpc_types.cpp
            rpc/forward_data.cpp
            rpc/forward_management.cpp
            rpc/forward_metadata.cpp
            syscalls/detail/syscall_info.c
  )
  target_compile_definitions(gkfwd_intercept PUBLIC GKFS_ENABLE_FORWARDING)

  if(GKFS_ENABLE_AGIOS)
    target_compile_definitions(gkfwd_intercept PUBLIC GKFS_ENABLE_AGIOS)
    target_compile_definitions(gkfs_intercept PUBLIC GKFS_ENABLE_AGIOS)
  endif()

target_link_libraries(
    gkfwd_intercept
  gkfs_intercept
  PRIVATE metadata distributor env_util arithmetic path_util rpc_utils
  PUBLIC Syscall_intercept::Syscall_intercept
         dl
@@ -116,9 +70,9 @@ if(GKFS_ENABLE_FORWARDING)
)

install(
    TARGETS gkfwd_intercept
  TARGETS gkfs_intercept
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
)
endif()
Loading