1. Nov 25, 2020
  2. Sep 15, 2020
  3. Sep 11, 2020
  4. Sep 10, 2020
  5. Jul 28, 2020
    • Marc Vef's avatar
    • Marc Vef's avatar
      Refactoring daemon I/O logic and fixing truncate etc. · bcb30ac2
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      The `ChunkStorage` backend class on the daemon was throwing `system_errors` without being caught, crashing the server in the process. `ChunkStorage` now uses a designated error class for errors that might occur. In addition the dependency to Argobots was removed which was used to trigger `ABT_eventuals`, laying ground work for future non-Argobots IO implementations. Further, the whole class was refactored for consistency and failure resistance.
      
      A new class `ChunkOperation` is introduced which wraps Argobots' IO task operations which allows the removal of IO queue specific code within RPC handlers, i.e., read and write handlers. The idea is to separate eventuals, tasks and their arguments from handler logic into a designated class. Therefore, an object of an inherited class of `ChunkOperation` is instantiated within the handlers that drives all IO tasks. The corresponding code was added to the read and write RPC handlers. Note, `ChunkOperation` is not thread-safe and is supposed to be called by a single thread.
      
      In addition, truncate was reworked for error handling (it crashed the server on error) and that it uses the IO queue as well since truncate causes a write operation and should not overtake IO tasks in the queue.
      
      The chunk stat rpc handler was refactored for error handling and to use error codes as well. 
      
      Further minor changes:
      - dead chunk stat code has been removed
      - some namespaces were missing: `gkfs::rpc`
      - more flexible handler cleanup and response code
      - fixed a bug where the chunk dir wasn't removed when the metadata didn't exist on the same node
      bcb30ac2
  6. Jul 27, 2020
  7. Jun 10, 2020
  8. Jun 09, 2020
  9. May 19, 2020
  10. May 13, 2020
  11. May 12, 2020
  12. Mar 31, 2020
  13. Feb 25, 2020
  14. Feb 24, 2020
  15. Feb 20, 2020
  16. Feb 19, 2020
  17. Feb 18, 2020
  18. Feb 10, 2020
  19. Feb 09, 2020
  20. Feb 07, 2020
    • Marc Vef's avatar
      Code Maintenance: Configurations, definitions, adafs to gkfs · 053cd9a5
      Marc Vef authored
      Restructuring code w.r.t. configurations and definitions:
      - #defines have been mostly removed from configurations
      - a dedicated config file has been added for configurations with constexpr
      - past configure file is now only a cmake wrapper
      - wrapping global functions into namespaces
      
      Removed all adafs and ifs occurrences. Now called gkfs
      053cd9a5
  21. Jan 29, 2020
  22. Nov 04, 2019
  23. Oct 03, 2019
    • Tommaso Tocci's avatar
      Add CREATE_CHECK_PARENTS compilation flag · 70a5c724
      Tommaso Tocci authored
      CREATE_CHECK_PARENTS controls if the existance of the parent node needs
      to be checked during the creation of a child node.
      
      Example: The check prevents the creation of file `/parent/child`
      if `/parent` doesn't exists or if it is not a directory
      
      By default CREATE_CHECK_PARENTS is enable and the check is enforced.
      It can be disable to speedup creation operations by passing
      `-DCREATE_CHECK_PARENTS:BOOL=OFF` as cmake parameter.
      70a5c724
  24. Sep 05, 2019
  25. Jul 29, 2019
    • Tommaso Tocci's avatar
      Posticipate logging initialization · 0ff4ee03
      Tommaso Tocci authored
      We don't want the log file to be created before command line parsing,
      otherwise --version or --help cli option could not work beacause we
      don't have permission to write to log file.
      0ff4ee03
  26. Jul 04, 2019