From ad536d9ad965f2521f30d161cfa535a296b8a740 Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Fri, 8 Oct 2021 15:38:51 +0200 Subject: [PATCH] pyocf: fix cache attach config struct Signed-off-by: Michal Mielewczyk Signed-off-by: ajrutkow --- tests/functional/pyocf/types/cache.py | 48 ++++++++++++++++++++------- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/tests/functional/pyocf/types/cache.py b/tests/functional/pyocf/types/cache.py index 10ef466..90741e9 100644 --- a/tests/functional/pyocf/types/cache.py +++ b/tests/functional/pyocf/types/cache.py @@ -62,11 +62,18 @@ class CacheConfig(Structure): class CacheDeviceConfig(Structure): _fields_ = [ ("_uuid", Uuid), - ("_cache_line_size", c_uint64), ("_volume_type", c_uint8), - ("_force", c_bool), - ("_min_free_ram", c_uint64), ("_perform_test", c_bool), + ("_volume_params", c_void_p), + ] + + +class CacheAttachConfig(Structure): + _fields_ = [ + ("_device", CacheDeviceConfig), + ("_cache_line_size", c_uint64), + ("_open_cores", c_bool), + ("_force", c_bool), ("_discard_on_start", c_bool), ] @@ -324,7 +331,9 @@ class Cache: self.write_unlock() if status: - raise OcfError("Error setting cache seq cut off policy promotion count", status) + raise OcfError( + "Error setting cache seq cut off policy promotion count", status + ) def get_partition_info(self, part_id: int): ioclass_info = IoClassInfo() @@ -349,7 +358,13 @@ class Cache: } def add_partition( - self, part_id: int, name: str, min_size: int, max_size: int, priority: int, valid: bool + self, + part_id: int, + name: str, + min_size: int, + max_size: int, + priority: int, + valid: bool, ): self.write_lock() @@ -414,7 +429,8 @@ class Cache: ): self.device = device self.device_name = device.uuid - self.dev_cfg = CacheDeviceConfig( + + device_config = CacheDeviceConfig( _uuid=Uuid( _data=cast( create_string_buffer(self.device_name.encode("ascii")), c_char_p @@ -422,12 +438,17 @@ class Cache: _size=len(self.device_name) + 1, ), _volume_type=device.type_id, + _perform_test=perform_test, + _volume_params=None, + ) + + self.dev_cfg = CacheAttachConfig( + _device=device_config, _cache_line_size=cache_line_size if cache_line_size else self.cache_line_size, _force=force, - _min_free_ram=0, - _perform_test=perform_test, + _open_cores=True, _discard_on_start=False, ) @@ -454,9 +475,7 @@ class Cache: c = OcfCompletion([("cache", c_void_p), ("priv", c_void_p), ("error", c_int)]) - self.owner.lib.ocf_mngt_cache_detach( - self.cache_handle, c, None - ) + self.owner.lib.ocf_mngt_cache_detach(self.cache_handle, c, None) c.wait() self.write_unlock() @@ -706,7 +725,12 @@ lib.ocf_mngt_cache_remove_core.argtypes = [c_void_p, c_void_p, c_void_p] lib.ocf_mngt_cache_add_core.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p] lib.ocf_cache_get_name.argtypes = [c_void_p] lib.ocf_cache_get_name.restype = c_char_p -lib.ocf_mngt_cache_cleaning_set_policy.argtypes = [c_void_p, c_uint32, c_void_p, c_void_p] +lib.ocf_mngt_cache_cleaning_set_policy.argtypes = [ + c_void_p, + c_uint32, + c_void_p, + c_void_p, +] lib.ocf_mngt_core_set_seq_cutoff_policy_all.argtypes = [c_void_p, c_uint32] lib.ocf_mngt_core_set_seq_cutoff_policy_all.restype = c_int lib.ocf_mngt_core_set_seq_cutoff_threshold_all.argtypes = [c_void_p, c_uint32]