Skip to content
  1. Mar 20, 2019
  2. Mar 06, 2019
    • Tommaso Tocci's avatar
      Remove gid/uid from metadata · 545b68c9
      Tommaso Tocci authored
      gid and uid metadata fields have never been used and can be removed
      safely
      545b68c9
    • Tommaso Tocci's avatar
      Drop access RPC · 60b1a186
      Tommaso Tocci authored
      The access RPC have been removed. The POSIX access functionality now is implemented through the stat RPC. This makes code easier to maintain and modify.
      
      There would be a little performance degradation on the POSIX access
      function because we are now retrieving also the metadata
      associated to the file.
      
      This change makes a lot easier to add symlink support
      60b1a186
  3. Mar 05, 2019
  4. Jan 31, 2019
    • Tommaso Tocci's avatar
      improved statfs and statvfs · 23c5faf1
      Tommaso Tocci authored
       - improved statfs system call
       - intercepted statvfs library call
      
      Both of the above function now report the aggregated real size
      of all the data-nodes.
      
      You can test this with `df "/tmp/gekkofs_mountpoint"` command
      23c5faf1
  5. Dec 07, 2018
    • Tommaso Tocci's avatar
      Drop margo init patch · e6dbe7c6
      Tommaso Tocci authored
      Changes have been merged upstream [1] with commit `acb8c296a694d7e3e06756e7a102a9d1c92df0c8`.
      There is no more need to patch margo to expose enanched init function.
      
      [1]: https://xgitlab.cels.anl.gov/sds/margo/merge_requests/9
      e6dbe7c6
  6. Dec 06, 2018
  7. Nov 26, 2018
  8. Nov 07, 2018
  9. Nov 04, 2018
  10. Oct 31, 2018
    • Tommaso Tocci's avatar
      e55ff409
    • Tommaso Tocci's avatar
      Implement (f)truncate · f60f2d19
      Tommaso Tocci authored
      Implemented all the logic to handle truncate operation.
      
      Test: added truncate test
      f60f2d19
    • Tommaso Tocci's avatar
      Make ChunkStorage aware of chunksize · 94a44560
      Tommaso Tocci authored
      The ChunkStorage class now store the chunksize in order to perform
      runtime checks upon chunks bundaries.
      94a44560
    • Tommaso Tocci's avatar
      use mercury automatic SM routing · c40be81b
      Tommaso Tocci authored
      Mercury now support shared memory autorouting.
      
      A single margo instance can be initialized and it will handle both
      shared memory communication and remote ones.
      
      If the endpoint of the RPC is local mercury will automatically use
      shared memory.
      
      Since there is only one margo instance all the duplicated code for
      rpc/ipc have been unified and simplified considerably.
      
      ------
      
      The way in which client contact the server has changed.
      
       - Server initializes its own margo instance and generate the endpoint
      communication string using `HG_Addr_self`.
       - This endpoint description string is written on the pid file
       - When the client library loads it will fetch the server endpoint
      description from the pid file and will use that to contact the server.
      c40be81b
  11. Oct 29, 2018
  12. Oct 28, 2018
    • Tommaso Tocci's avatar
      update deps, drop abt-snoozer · b0c8d184
      Tommaso Tocci authored
      margo, argobots and mercury have been updated. The abt-snoozer dep
      required by margo it is not needed anymore.
      
      RocksDB has been also updated to the lastest release
      b0c8d184
    • Tommaso Tocci's avatar
      makes logs configurable at exec time · 1ad8f4e4
      Tommaso Tocci authored
      loggers can be now configured at execution time, by using environment
      variables for both server and client.
      
      Server:
       - ADAFS_LOG_LEVEL
       - ADAFS_DAEMON_LOG_PATH
      
      Client:
       - ADAFS_LOG_LEVEL
       - ADAFS_PRELOAD_LOG_PATH
      1ad8f4e4
  13. May 11, 2018
  14. May 10, 2018
    • Tommaso Tocci's avatar
      Add support for basic directories calls · 33865a14
      Tommaso Tocci authored
      Support for the following calls has been added:
       - opendir
       - readdir
       - closedir
      
      The readdir call use the new RPC get_dirents that ask to all the
      nodes (broadcast) about all the existing first-level entries
      of a specific directory.
      33865a14
    • Tommaso Tocci's avatar
      Daemon: root directory must be relative · 28db5904
      Tommaso Tocci authored
      Now that we use only relative path on daemon side,
      also the initial creation of the root directory should be
      use a relative path.
      28db5904
  15. May 09, 2018
  16. May 08, 2018
    • Tommaso Tocci's avatar
      Multiple logs handling · df0aee7e
      Tommaso Tocci authored
      During daemon setup, multiple spdloggers are configured.
      
      Using spdlog::get("<LOGNAME>") is possible to retrieve those and use
      them in other part of the code.
      df0aee7e
  17. Apr 27, 2018
  18. Apr 08, 2018
    • Tommaso Tocci's avatar
      cli: look for --help flag first · 89ecb7b2
      Tommaso Tocci authored
      Since the introduction of required parameters wasn't possible to show
      the help message.
      In fact the --help flag was checked after all other parameters.
      89ecb7b2
  19. Apr 02, 2018
    • Marc Vef's avatar
      Daemon now creates a pid file with pid and mountdir info for clients · fe7e5ee3
      Marc Vef authored
      Previously, clients would look for the daemon by name which was not robust.
      If the daemon was started with valgrind for example, clients would not find
      the daemon.
      
      Similar to other applications a daemon now creates a pid file with
      information about its pid and its started mountdir.
      
      Proper errorhandling on server and client side was added.
      
      Multiple daemons per node are explicitly not allowed for now!
      fe7e5ee3
  20. Mar 24, 2018
  21. Mar 23, 2018
  22. Mar 09, 2018
  23. Mar 07, 2018
    • Marc Vef's avatar
    • Marc Vef's avatar
      Restructuring directory hierarchy of the project + re-adding header files to CMake sources. · 138e04ca
      Marc Vef authored
      - Previously the directory hierarchy was not clear regarding to which
        file belong to which part of the project (client or daemon).
        Further, we will have other clients in the future (such as Fuse).
      - CMake files now differentiate between include dirs for all targets
        and target specific ones.
      - Removed duplicate -pg flag.
      - Not listing header files when adding executables or libraries
        is considered bad practice. Note that include_directories() is adding
        include paths to the code while adding all files used for executables
        and libraries provide the context which files belong to each binary.
        When only include_directories() is set, CMake assumes that all files
        belong to a binary (which is not necessarily true). As a result,
        some IDEs may break as the do not support this assumption.
      
        In general we should almost always favor explicitness over implicitness.
      138e04ca
  24. Mar 05, 2018