Michal Mielewczyk
047b276fc8
pyocf: API for detaching core
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-26 11:39:05 +01:00
Robert Baldyga
be068df400
Merge pull request #853 from mmichal10/repart
...
Repart
2025-02-04 16:39:49 +01:00
Robert Baldyga
08eb00665c
Merge pull request #854 from robertbaldyga/request-cleanup
...
A little cleanup between ocf_request and ocf_io
2025-02-04 15:20:44 +01:00
Robert Baldyga
b850727d17
tests: Fix d2c test
...
Cache attach operation is not supposed to complete unless all the d2c
requests are completed, thus need to handle it asynchronously.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-11-21 21:29:23 +01:00
Michal Mielewczyk
a18bee3d23
pyocf: ioclass statas api
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-21 19:32:51 +02:00
Robert Baldyga
85513332d7
Remove ocf_io_get()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-10-15 09:55:56 +02:00
Robert Baldyga
b16b49c84d
tests: Introduce cache/core flush test
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-04 07:54:46 +02:00
Roel Apfelbaum
b8ea10f30c
pyocf: Fix core.reset_stats()
...
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-04 07:52:14 +02:00
Michal Mielewczyk
6ec4f6cceb
pyocf: rio: reads and writes accounting
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-02 15:55:28 +02:00
Michal Mielewczyk
818dacfe89
pyocf: Disarm error volumes in teardown
...
This prevents obfuscating the actual test errors
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-02 15:52:21 +02:00
Robert Baldyga
d8d750462a
tests: pyocf: Remove legacy submit_* ops implementation from volumes
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
9b7f476470
pyocf: Update after removing struct ocf_io
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
be0ad8fe20
pyocf: Update tests after the API changes
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
1c2d5bbcf3
Introduce forward_io_simple
...
It's intended to be used in a context, where cache is not initialized
and the io_queue is not available yet.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
2d303e8d09
Replace ocf_forward_get_io() with more specific ops
...
struct ocf_io is going to be removed soon (consolidated with ocf_request).
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
6aa141c247
Introduce ocf_forward_get_data()
...
Skip the ocf_io abstraction and get the data directly from the request.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
5859e432c8
Introduce ocf_forward_metadata()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
cd544e8ee5
Introduce ocf_forward_write_zeros()
...
This is meant to be used in atomic mode to avoid allocating huge buffers
for zeroing data on drive.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
c9cd217a08
pyocf: Update to use forward API
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Michal Mielewczyk
97477d484f
pyocf: Helpers for sync IOs for Volume
...
Signed-off-by: Sara Merzel <sara.merzel@huawei.com>
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-17 10:04:02 +02:00
Michal Mielewczyk
f75ad04ec7
pyocf: Remove redundant imports
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-12 14:07:30 +02:00
Robert Baldyga
c07e44f036
pyocf: Fix cache settle
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-09 15:28:11 +02:00
Sara Merzel
835eb708b5
Introduce pass-through block stats
...
Signed-off-by: Sara Merzel <sara.merzel@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-06 14:47:02 +02:00
Gershon Geva
2096e34489
Pass user's params when opening a core volume
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-04 20:29:41 +02:00
Robert Baldyga
8db93260ae
Avoid adding mngt_queue to io_queues list
...
Previously every created queue was added to io_queues list, which
made mngt_queue being used in ocf_parallelize. Change mngt_queue creation
API so that mngt_queue is not added to the list and doesn't have
unnecessary functionalities initialized.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 10:45:26 +02:00
Michael Lyulko
59227999da
pyocf: fix standby detach completion
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:39:55 +02:00
Roel Apfelbaum
9f0147ab1e
pyocf: refactor sync io operations
...
Replace the pattern:
completion = OcfCompletion([("err", c_int)])
io.callback = completion.callback
io.submit()
completion.wait()
with:
completion = Sync(io).submit()
Also, remove some redundant imports.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:39:53 +02:00
Robert Baldyga
8d4661bdc9
pyocf: rio: Introduce copy()
...
This allows to create a Rio prototype object and the copy it for every
invocations so that some parameters can be overwritten without modifying
the prototype object itself.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:29:43 +02:00
Robert Baldyga
d892e3b0d5
pyocf: rio: Fix offset
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:29:42 +02:00
Michal Mielewczyk
16830cd3c3
pyocf: rio: Fix the default JobSpec
...
Make JobSpec dataclass' default values immutable.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:29:10 +02:00
Michal Mielewczyk
83ec255458
Disable changing cache params for detached cache
...
Majority of management operations should be blocked for detached cache,
although adding and removing cores should be possible.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-07-10 16:19:37 +02:00
Michal Mielewczyk
f8a0f88892
Test detaching cache twice
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-07-10 16:16:18 +02:00
Robert Baldyga
93b6ddb8a7
Merge pull request #703 from jfckm/metadata-corruption-tests
...
Metadata corruption tests
2022-07-22 16:06:41 +02:00
Robert Baldyga
675cd11f40
Add missing license headers
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-07-22 08:33:55 +02:00
Jan Musial
b3bd778a78
pyocf: simplify volume open/close API
...
Make Volumes usable by both pyocf and OCF with clear open/_open split
and clean-up of instance/uuid tracking on C interface only.
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
b1b3e134cf
pyocf: clean-up hanging device reference
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
a0c6995189
pyocf: make open/close explicit
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
abc726d7f8
pyocf: warn about not-closed Volumes
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
4328fd77b0
pyocf: don't store UUIDs in Cache object
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
cfd8eea0c0
pyocf: fix cache device references
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
1bdf4a13ae
pyocf: Improve volume instance lifecycle handling
...
We need a strong reference to volume for as long as OCF has it open.
For that I changed instance tracking dictionary from weakvalue to
normal. This way I made sure that GC won't clean up Volume before its
closed.
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
83a28825d2
pyocf: Load standby from device
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
d87bdc3a43
pyocf: Improve buffer logger to also print on console
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
2aaa69b33b
pyocf: Add helper for superblock size
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
eac7d64456
pyocf: Parse size from string
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Adam Rutkowski
69ef673bd1
pyocf: composite volume tests
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-29 12:30:21 +02:00
Adam Rutkowski
81396681f4
pyocf: extend OcfCompletion
...
1. add optional timeout and return value to wait()
2. add method to check whether completion was triggered
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-29 12:30:21 +02:00
Adam Rutkowski
e2ea2b41e6
pyocf: extend ErrorDevice to inject error on flush and discard
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-29 12:30:21 +02:00
Jan Musial
fb83a182ee
pyocf: API for getting cleaning policy from cache
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-22 14:02:14 +02:00
Jan Musial
2f289bd873
pyocf: update OcfErrorCode with new code
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-22 14:02:14 +02:00