Implement asynchronous attach, load, detach and stop

NOTE: This is still not the real asynchronism. Metadata interfaces
are still not fully asynchronous.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
This commit is contained in:
Robert Baldyga
2019-03-04 10:55:16 +01:00
parent 56f4d34920
commit 91e0345b78
17 changed files with 1692 additions and 767 deletions

View File

@@ -102,6 +102,136 @@ char *__wrap_ocf_cache_get_name(ocf_cache_t cache)
{
}
void __wrap__ocf_mngt_test_volume_initial_write(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_test_volume_first_read(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume_discard(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume_second_read(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_cache_device(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_check_ram(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_load_properties(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_prepare_metadata(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_load_superblock(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_init_instance(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_clean_pol(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_flush_metadata(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_discard(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_flush(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_shutdown_status(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_post_init(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_wait_io(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_remove_cores(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_unplug(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_put_io_queues(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_flush(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_wait_pending(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_update_metadata(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_unplug(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume_first_read(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
static void _cache_mng_set_cache_mode_test01(void **state)
{
ocf_cache_mode_t mode_old = -20;

View File

@@ -59,6 +59,136 @@ char *__wrap_ocf_cache_get_name(ocf_cache_t cache)
{
}
void __wrap__ocf_mngt_test_volume_initial_write(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_test_volume_first_read(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume_discard(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume_second_read(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_cache_device(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_check_ram(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_load_properties(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_prepare_metadata(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_load_superblock(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_init_instance(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_clean_pol(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_flush_metadata(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_discard(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_flush(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_shutdown_status(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_attach_post_init(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_wait_io(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_remove_cores(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_unplug(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_stop_put_io_queues(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_flush(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_wait_pending(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_update_metadata(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap_ocf_mngt_cache_detach_unplug(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
void __wrap__ocf_mngt_test_volume_first_read(
ocf_mngt_pipeline_t test_pipeline, void *priv)
{
}
static void ocf_mngt_cache_set_fallback_pt_error_threshold_test01(void **state)
{
struct ocf_cache cache;