1. May 12, 2020
  2. Feb 25, 2020
  3. Feb 24, 2020
  4. Feb 20, 2020
  5. Feb 19, 2020
  6. Feb 10, 2020
  7. Feb 09, 2020
  8. 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
  9. Sep 09, 2019
  10. Sep 06, 2019
  11. Jul 04, 2019
  12. Jun 28, 2019
  13. Apr 24, 2019
  14. Apr 10, 2019
  15. Apr 03, 2019
    • Tommaso Tocci's avatar
      Use getaddrinfo instead of parsing /etc/hosts · 98468c06
      Tommaso Tocci authored
      We now use getaddrinfo syscall instead of parsing /etc/hosts in order to
      resolve hostnames
      98468c06
    • Tommaso Tocci's avatar
      Add support for endpoint shared lookup file · a1b20dcc
      Tommaso Tocci authored
      For some comunication layers an out of band communication is required for putting in place the specific protocol handshake.
      
      In those case a shared lookup file could be used to distribute deamon's endpoints information to all the clients.
      
      This file need to resides on a shared filesystem and can be specified using the new CLI parameter `--lookup-file`.
      a1b20dcc
  16. Mar 06, 2019
    • 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
  17. Mar 05, 2019
  18. 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
  19. Nov 26, 2018
  20. Nov 07, 2018
  21. Nov 03, 2018
  22. Oct 31, 2018
    • Tommaso Tocci's avatar
      Prevent random data on stat output · b3e2f834
      Tommaso Tocci authored
      Some of the variables of stat struct are not initialized, thus they will
      remains will unpredictable junks data from memory. This random values
      could induct strange behaviours on user applications.
      
      Even if we don't support some of the fields in the struct stat, it is
      necessary to set them to some default value.
      b3e2f834
    • Tommaso Tocci's avatar
      deprecated *stat64 functions family · 44e70e78
      Tommaso Tocci authored
      According to the glibc [1] the stat64 function family would be called only
      on 32-bit machine.
      
      To be sure we still intercept the function, but we now throw a NOTSUP
      error.
      
      In this way we can drop the adafs_stat64 function and implement just the
      logic to populate the `struct stat`.
      
      [1]: https://github.molgen.mpg.de/git-mirror/glibc/blob/20003c49884422da7ffbc459cdeee768a6fee07b/sysdeps/unix/sysv/linux/generic/xstat.c#L46
      44e70e78
    • 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
      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
  23. Oct 29, 2018
  24. May 17, 2018
  25. May 10, 2018
  26. May 08, 2018
  27. Apr 05, 2018
    • Marc Vef's avatar
      Preload: RPC addresses of hosts are now obtained at startup · 815e76eb
      Marc Vef authored
      Previously, host rpc addresses have been looked up lazily when a request
      was done. This is not necessary as all hosts are looked up anyways
      while the file system is running.
      
      Now, all RPC addresses are looked up when the environment is initialized.
      After that, the rpc_address map is only accessed read-only and does not
      require a mutex anymore.
      815e76eb