Skip to content
  1. Aug 21, 2018
    • Alberto Miranda's avatar
      Add NORNS_DEBUG_CONFIG_FILE_OVERRIDE env variable · 15545ec4
      Alberto Miranda authored
      Added a new environment variable NORNS_DEBUG_CONFIG_FILE_OVERRIDE that
      allows test programs to override the load process for the default
      configuration file. When setting this variable, the test program is
      expected to call either libnorns_reload_config_file() or
      libnornsctl_reload_config_file() to set the configuration file for the
      test explicitly.
      
      This commit closes #3.
      15545ec4
  2. Aug 17, 2018
    • Alberto Miranda's avatar
      Add nornsctl_status function · 7fe672fa
      Alberto Miranda authored
      The new nornctl_status function queries the urd daemon and returns
      summarized stats about all iotasks currently in the system. More
      specifically, the function returns a nornsctl_stat_t structure that
      contains the following information:
          st_running_tasks: Number of tasks currently running
          st_pending_tasks: Number of tasks currently pending
          st_eta: Estimated Time of Arrival of the currently running tasks
                  (in seconds). Note that, internally, the daemon estimates
                  how long a task will take by keeping track of the average
                  namespace-to-namespace bandwidth from previous requests.
                  This means that this field may contain NaN if no tasks
                  have yet completed, since the daemon will not be able to
                  estimate the E.T.A.
      7fe672fa
  3. Jul 11, 2018
  4. Jul 09, 2018
  5. Jun 19, 2018
  6. Jun 13, 2018
  7. Jun 12, 2018
    • Alberto Miranda's avatar
      aafa84e1
    • Alberto Miranda's avatar
      Improve daemon and library configuration · ac75a49b
      Alberto Miranda authored
      - Changed the format of the global service configuration file to a
      YAML-like format
      - Urd daemon is now able to read its configuration from the
      newly-formatted configuration file.
      - Companion libraries linorns and libnornsctl are now capable of
      reading their configuration from the global service configuration file.
      - Libraries now encapsulate their state in a context structure shared
      by all threads rather than in globals.
      - Tests are only built now if the --enable-tests option is passed
      when invoking configure
      - Tests updated to patch the libraries on the fly in order to use
      case-by-case configuration files.
      - Tests now only cleanup their internal data if the test succeeds.
      ac75a49b
  8. May 14, 2018
  9. May 04, 2018
    • Alberto Miranda's avatar
      Significant changes to data resource management · 617bad66
      Alberto Miranda authored
      - Add transferor_registry class to manage resource transfer functions
      - First implementation of 'local path' to 'local path' transferor using
        fadvice+fallocate+sendfile.
      - Add stubs for other converters
      - Move dispatch_table from api to common since it's now also used by
        transferor_registry.
      - Add get() function to dispatch_table class so that stored functors
        can be retrieved.
      - Generic implementation of task::operator()() to transfer resources and
        resource elements between different backends. When constructed, the
        task is provided with the input and ouput resources as well as a
        'transferor' functor that is invoked upon them to perform the actual
        transfer.
      - Add new_resource() and get_resource() methods to backends to promote
        resource_info instances to fully qualified resources.
      - Implementation of new_resource() and get_resource() for a POSIX
        filesystem. Stubs for other backends.
      - New convenience library that aggregates all symbols for resources
      - Add name() and is_collection() methods to class resource_info.
      - Provide implementation for boost::filesystem::relative() in utils.cpp
        if boost version <= 1.6.0
      - Remove resource::buffer, no longer needed (superseeded by transferors).
      - Remove resource::stream, no longer needed (superseeded by transferors).
      - Remove functions resource::info(), resource::backend(), and
        resource::set_backend().
      - Reorganize resources build hierarchy
      - Remove self-registration of backends
      - Update tests
      - Cleanup unused code
      617bad66
  10. Mar 25, 2018
    • Alberto Miranda's avatar
      Important API refactoring · 65b151ed
      Alberto Miranda authored
      - Rename norns_register_backend to norns_register_namespace
      - Rename norns_unregister_backend to norns_unregister_namespace
      - Rename norns_update_backend to norns_update_namespace
      - API is now more symmetrical: all norns_*_namespace functions
      receive an nsid as first parameter (in previous versions this
      was not consistent).
      - The norns_job_t descriptor now requires a norns_job_limit_t
      parameter that defines what the job will be allowed to do, rather
      than a norns_backend_t specification as in previous versions.
      - Other changes: message passing logic improved
      65b151ed
  11. Mar 22, 2018
    • Alberto Miranda's avatar
      Fake tasks can now be created for testing · 119084c6
      Alberto Miranda authored
      - task_manager is now a full-fledged class rather than
      inheriting from std::unordered_map
      - changes to handlers to reflect the new interface
      in task_manager
      - new dry_run option for enabling "fake task mode"
      - in libraries, log errors to stderr only if env var
      NORNS_DBG_LOG_TO_STDERR is defined.
      119084c6
  12. Mar 19, 2018
  13. Mar 18, 2018
  14. Mar 17, 2018
  15. Mar 10, 2018
  16. Feb 22, 2018
  17. Feb 02, 2018
  18. Jan 26, 2018
  19. Jan 24, 2018
  20. Sep 08, 2017
  21. Sep 05, 2017
  22. Sep 01, 2017
  23. Aug 30, 2017
  24. Aug 25, 2017
  25. Mar 24, 2017
  26. Mar 20, 2017
  27. Mar 13, 2017
  28. Mar 10, 2017
  29. Mar 06, 2017
  30. Mar 02, 2017