From dacbe68a19840f9d97e261fa89e60acdb60bf388 Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Thu, 27 Mar 2025 09:31:18 +0100 Subject: [PATCH] pyocf: Use Rio instead of raw IO API Signed-off-by: Michal Mielewczyk --- .../tests/management/test_add_remove.py | 49 +++++++++++-------- .../tests/management/test_attach_cache.py | 21 ++++---- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/tests/functional/tests/management/test_add_remove.py b/tests/functional/tests/management/test_add_remove.py index 40698ec..cb3abae 100644 --- a/tests/functional/tests/management/test_add_remove.py +++ b/tests/functional/tests/management/test_add_remove.py @@ -17,6 +17,7 @@ from pyocf.types.io import IoDir, Sync from pyocf.types.queue import Queue from pyocf.utils import Size as S from pyocf.types.shared import OcfError, OcfErrorCode, OcfCompletion, CacheLineSize +from pyocf.rio import Rio, ReadWrite @pytest.mark.parametrize("cache_mode", CacheMode) @@ -152,13 +153,15 @@ def test_detach_cache_detach_core_cleaning(pyocf_ctx, cleaning_policy, promotion cache.set_promotion_policy(promotion_policy) for core in [core_1, core_2]: - vol = CoreVolume(core) - queue = core.cache.get_default_queue() - - core_size = core.get_stats()["size"] - data = Data(core_size.B) - - _io_to_core(vol, queue, data) + r = ( + Rio() + .target(CoreVolume(core)) + .readwrite(ReadWrite.WRITE) + .size(core.get_stats()["size"]) + .qd(1) + .bs(S.from_KiB(64)) + .run([core.cache.get_default_queue()]) + ) core_1.detach() @@ -178,13 +181,15 @@ def test_detach_cache_retach_core_cleaning(pyocf_ctx, cleaning_policy, promotion def _write_cores(cores_list): for core in cores_list: - vol = CoreVolume(core) - queue = core.cache.get_default_queue() - - core_size = core.get_stats()["size"] - data = Data(core_size.B) - - _io_to_core(vol, queue, data) + r = ( + Rio() + .target(CoreVolume(core)) + .readwrite(ReadWrite.WRITE) + .size(core.get_stats()["size"]) + .qd(1) + .bs(S.from_KiB(64)) + .run([core.cache.get_default_queue()]) + ) cache.add_core(core_1) cache.add_core(core_2) @@ -222,13 +227,15 @@ def test_reattach_cache_reattach_core_cleaning(pyocf_ctx, cleaning_policy, promo def _write_cores(cores_list): for core in cores_list: - vol = CoreVolume(core) - queue = core.cache.get_default_queue() - - core_size = core.get_stats()["size"] - data = Data(core_size.B) - - _io_to_core(vol, queue, data) + r = ( + Rio() + .target(CoreVolume(core)) + .readwrite(ReadWrite.WRITE) + .size(core.get_stats()["size"]) + .qd(1) + .bs(S.from_KiB(64)) + .run([core.cache.get_default_queue()]) + ) cache.add_core(core_1) cache.add_core(core_2) diff --git a/tests/functional/tests/management/test_attach_cache.py b/tests/functional/tests/management/test_attach_cache.py index e995268..2264777 100644 --- a/tests/functional/tests/management/test_attach_cache.py +++ b/tests/functional/tests/management/test_attach_cache.py @@ -25,6 +25,7 @@ from pyocf.types.shared import ( from pyocf.types.volume import RamVolume from pyocf.types.volume_core import CoreVolume from pyocf.utils import Size +from pyocf.rio import Rio, ReadWrite logger = logging.getLogger(__name__) @@ -96,17 +97,15 @@ def test_d2c_io(pyocf_ctx): cache.detach_device() - vol = CoreVolume(core_1) - queue = core_1.cache.get_default_queue() - data = Data(4096) - vol.open() - io = vol.new_io(queue, 0, data.size, IoDir.WRITE, 0, 0) - io.set_data(data) - - completion = Sync(io).submit() - - vol.close() - assert completion.results["err"] == 0 + r = ( + Rio() + .target(CoreVolume(core_1)) + .readwrite(ReadWrite.WRITE) + .size(core_1.get_stats()["size"]) + .qd(1) + .bs(Size.from_KiB(64)) + .run([core_1.cache.get_default_queue()]) + ) def test_detach_cache_zero_superblock(pyocf_ctx):