Robert Baldyga
2defff1da0
Merge pull request #734 from arutk/cvoltests3
...
pyocf: composite volume I/O address range tests
2022-06-29 14:16:52 +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
Robert Baldyga
8b83f0f164
Merge pull request #743 from arutk/270622
...
volume init/deinit enhancements
2022-06-28 09:38:24 +02:00
Adam Rutkowski
5a71f7c068
validate uuid->size in ocf_volume_init
...
Optional uuid parameter to ocf_volume_init() points to UUID object
initialized by the user. We should verify it is not excesively large
as we attempt to allocate a buffer to store a copy of the UUID.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-28 08:02:58 +02:00
Adam Rutkowski
364e36ec7e
Revert "fix deinitialization of moved composite volume"
...
The proper way to avoid calling on_deinit() callback on an already
deinitialized volume is to deinitialize type callbacks, as it is done
in the previous commit.
This reverts commit a7f70687a9
.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-28 08:02:58 +02:00
Adam Rutkowski
b6587ad622
zero volume->type in ocf_volume_deinit()
...
After deinitialization of volume there is no need to call back to
type ops. Currently we would erroneously call on_deinit() callback
multiple times if ocf_volume_deinit() is performed more than once,
which we expect to happen and treat as a correct use of API.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-28 08:02:58 +02:00
Robert Baldyga
f0f6ff219b
Set core volume type in metadata on core insert
...
ocf_metadata_flush_superblock() is being called on the cache stop, after
deinitialization of the cores (and their volumes), thus accessing core
volume in superblock flushing procedure leads to use-after-free bug.
Fix this by moving volume type setting to the core insertion code.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-28 07:59:43 +02:00
Robert Baldyga
7cf58bb326
Merge pull request #733 from pdebski21/composite_volume_test2
...
Composite volume tests load and attach
2022-06-27 13:40:40 +02:00
Robert Baldyga
b43ff83e33
Merge pull request #742 from jfckm/cleaner-disabled-cp-setting
...
Tests for disabled_cleaner setting
2022-06-24 14:01:38 +02:00
Piotr Debski
f4eb291235
pyocf: Composite volume tests
...
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 17:31:46 +02:00
Robert Baldyga
641649f6a9
pyocf: Refactor _cvol_io() function
...
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 17:31:27 +02:00
Jan Musial
b39161f1aa
pyocf: implement test_attach_cleaner_disabled_non_default
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-22 14:02:14 +02:00
Jan Musial
b898f5c336
pyocf: implement test_cleaner_disabled_nop
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-22 14:02:14 +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
Robert Baldyga
9a22ef0917
Merge pull request #736 from pdebski21/tests_disable_cleaner2
...
Tests disable cleaner
2022-06-22 13:56:43 +02:00
Robert Baldyga
c4e1ebe262
Merge pull request #741 from robertbaldyga/metadata_volatile_tests
...
pyocf: Metadata volatile tests
2022-06-22 12:37:19 +02:00
Robert Baldyga
ef4bfc9ac3
pyocf: Make cache lookup by name a common utility
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 12:01:54 +02:00
Piotr Debski
5441cdb50a
Cache API changes for disable_cleaner option
...
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
2022-06-22 12:01:54 +02:00
Piotr Debski
b4f2866155
Tests cleaner disabled
...
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
2022-06-22 12:01:54 +02:00
Robert Baldyga
597eb0c24c
pyocf: Metadata volatile tests
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 09:03:38 +02:00
Robert Baldyga
f867559496
Merge pull request #739 from robertbaldyga/fix-disable-cleaner-calculation
...
Fix metadata on disk size calculation when cleaner is disabled
2022-06-21 15:48:24 +02:00
Robert Baldyga
8822094f14
Fix metadata on disk size calculation when cleaner is disabled
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-21 09:33:42 +02:00
Robert Baldyga
adfa76a21a
Merge pull request #735 from robertbaldyga/fix-example-vol-destroy
...
example: Fix ocf_volume destruction in error handling code
2022-06-20 16:06:05 +02:00
Robert Baldyga
6d1270cdd4
Merge pull request #732 from pdebski21/pipeline_conditional_step
...
Validate metadata segments in cleaning section - Pipeline conditional step
2022-06-20 16:05:49 +02:00
Piotr Debski
c448043b42
Conditional pipeline step for filtering invalid segments
...
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
2022-06-16 09:33:09 +02:00
Adam Rutkowski
1a27b07f72
Pipeline conditional step
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
2022-06-16 09:33:09 +02:00
Robert Baldyga
a525cb9f62
example: Fix ocf_volume destruction in error handling code
...
Pass the right pointer type to function ocf_volume_destroy().
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-14 16:17:45 +02:00
Adam Rutkowski
3f552703f5
Merge pull request #727 from arutk/pyvolume
...
pyocf: composite volume API and initial tests
2022-06-14 11:04:29 +02:00
Adam Rutkowski
ae735b4434
pyocf: composite volume tests
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
96c5ef1d01
pyocf: register composite volume type id in ctx
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
8f2fac399e
pyocf: composite volume class
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
0f8183157d
pyocf: rename ExpObjVolume to OcfInternalVolume
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
6195967483
pyocf: use device.handle for device config if available
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
eb3439666d
pyocf: destroy ocf_volume_t after attaching cache device
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
2976c77c4c
pyocf: allow no queue in I/O allocation
...
.. this is useful for testing I/O API without any cache
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
bd20236444
pyocf: add volume::close()
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
6c9f558b62
pyocf: manage volume.opened in s_open
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
8e1fe9a263
pyocf: generic open() for exported object volumes
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
b4dd5dac00
pyocf: methods to get ocf_volume_t from cache/core exp obj vol
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
db2e4ecb68
pyocf: rename static Volume::open() to s_open()
...
.. to distinguish from exported object open() instance method
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
59d1905139
pyocf: function to register internal volume type id in ctx
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
6b9719907a
pyocf: helper to get composite volume type id
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
03dbbd4471
pyocf: fix discard I/O tracing
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00
Adam Rutkowski
19dff9d4a2
pyocf: fix standby I/O test
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00
Adam Rutkowski
a7f70687a9
fix deinitialization of moved composite volume
...
After moving from a volume, it's priv is assigned to the new owner.
Destroying the volume after moving from it must not attempt to use the
priv, especially not to attempt to deinit member volumes in case of
composite volume.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00
Adam Rutkowski
5a80237e74
expose composite volume type id in API
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00
Adam Rutkowski
02db4de75b
Composite volume io calculations fix
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00