pyocf: fix cache attach config struct

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
Signed-off-by: ajrutkow <adam.j.rutkowski@intel.com>
This commit is contained in:
Michal Mielewczyk 2021-10-08 15:38:51 +02:00 committed by ajrutkow
parent e2c6a25ee9
commit ad536d9ad9

View File

@ -62,11 +62,18 @@ class CacheConfig(Structure):
class CacheDeviceConfig(Structure): class CacheDeviceConfig(Structure):
_fields_ = [ _fields_ = [
("_uuid", Uuid), ("_uuid", Uuid),
("_cache_line_size", c_uint64),
("_volume_type", c_uint8), ("_volume_type", c_uint8),
("_force", c_bool),
("_min_free_ram", c_uint64),
("_perform_test", c_bool), ("_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), ("_discard_on_start", c_bool),
] ]
@ -324,7 +331,9 @@ class Cache:
self.write_unlock() self.write_unlock()
if status: 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): def get_partition_info(self, part_id: int):
ioclass_info = IoClassInfo() ioclass_info = IoClassInfo()
@ -349,7 +358,13 @@ class Cache:
} }
def add_partition( 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() self.write_lock()
@ -414,7 +429,8 @@ class Cache:
): ):
self.device = device self.device = device
self.device_name = device.uuid self.device_name = device.uuid
self.dev_cfg = CacheDeviceConfig(
device_config = CacheDeviceConfig(
_uuid=Uuid( _uuid=Uuid(
_data=cast( _data=cast(
create_string_buffer(self.device_name.encode("ascii")), c_char_p create_string_buffer(self.device_name.encode("ascii")), c_char_p
@ -422,12 +438,17 @@ class Cache:
_size=len(self.device_name) + 1, _size=len(self.device_name) + 1,
), ),
_volume_type=device.type_id, _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 _cache_line_size=cache_line_size
if cache_line_size if cache_line_size
else self.cache_line_size, else self.cache_line_size,
_force=force, _force=force,
_min_free_ram=0, _open_cores=True,
_perform_test=perform_test,
_discard_on_start=False, _discard_on_start=False,
) )
@ -454,9 +475,7 @@ class Cache:
c = OcfCompletion([("cache", c_void_p), ("priv", c_void_p), ("error", c_int)]) c = OcfCompletion([("cache", c_void_p), ("priv", c_void_p), ("error", c_int)])
self.owner.lib.ocf_mngt_cache_detach( self.owner.lib.ocf_mngt_cache_detach(self.cache_handle, c, None)
self.cache_handle, c, None
)
c.wait() c.wait()
self.write_unlock() 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_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.argtypes = [c_void_p]
lib.ocf_cache_get_name.restype = c_char_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.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_policy_all.restype = c_int
lib.ocf_mngt_core_set_seq_cutoff_threshold_all.argtypes = [c_void_p, c_uint32] lib.ocf_mngt_core_set_seq_cutoff_threshold_all.argtypes = [c_void_p, c_uint32]