Commit Graph

1827 Commits

Author SHA1 Message Date
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
Adam Rutkowski
0030ebdecc Handle already opened volume in volume open
Volumes are now exposed in OCF API and we should gracefully handle
attempt to open already opened volume (instead of ENV_BUG).

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00
Adam Rutkowski
a1e9303189
Merge pull request #730 from jfckm/metadata-helpers
pyocf: Extend metadata helpers to work for all metadata segments
2022-06-13 11:07:29 +02:00
Jan Musial
3f777ea1cf pyocf: extend metadata helpers
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-10 12:47:48 +02:00
Jan Musial
6193530415 pyocf: rename C collision helpers file
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-10 12:47:48 +02:00
Jan Musial
97942c6277 pyocf: Helper for finding metadata sections in log
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-10 12:47:48 +02:00
Adam Rutkowski
b053f7925a
Merge pull request #702 from robertbaldyga/v22.6-composite-volume
Introduce composite volume
2022-06-02 13:36:21 +02:00
Adam Rutkowski
5f767dd618
Merge pull request #726 from arutk/fipm
flush handling fixes and enhanced tests
2022-06-02 10:46:36 +02:00
Adam Rutkowski
fcfdd2692e [pyocf] add missing volume registration in tests
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-02 09:49:39 +02:00
Adam Rutkowski
9739a442b6 [pyocf] properly resolve volume type
OCF volume type is different for each context in which given
type (Volume subclass) is registered. So OCF volume type should
not be a Volume subclass member.

Adding map in Context class to store OCF volume type for each
registered volume type.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-02 09:49:39 +02:00
Robert Baldyga
6a9436740b Reflect cache attach API changes in pyocf
The uuid/volume_type pair has been replaced with pointer to volume object.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-02 09:49:39 +02:00