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
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
Robert Baldyga
16e824affd
pyocf: Add on_init/on_deinit to VolumeOps
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-02 09:49:39 +02:00
Jan Musial
67024ebdb3
pyocf: Add argtype/restype for ocf_volume_create
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-02 09:49:39 +02:00
Robert Baldyga
15cef7aea9
pyocf: Add missing volume open parameter
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-02 09:49:39 +02:00
Michał Mielewczyk
71e056e662
Merge pull request #723 from jfckm/standby-io-tests
...
Tests for standby I/O
2022-06-02 09:17:43 +02:00
Adam Rutkowski
f0b8815429
pyocf: reintroduce trace device
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-01 22:35:17 +02:00
Adam Rutkowski
8e16a26b6a
pyocf: add volume submit_flush() and submit_discard()
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-01 22:33:35 +02:00
Adam Rutkowski
07c7db81f4
pyocf: add FLUSH flag
...
Flush I/O must be recognized by the bottom adapter by inspecting
adapter specific flags
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-01 22:33:35 +02:00
Jan Musial
3b7d25737b
pyocf: Various improvements in RIO
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-05-18 15:40:55 +02:00
Jan Musial
438b6d158e
pyocf: Delete Io object in pyocf before putting in OCF
...
To avoid Io reuse (new io with same pointer could be allocated before
deleting from pyocf instance tracking dictionary).
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-05-18 15:40:55 +02:00
Adam Rutkowski
83bb7317bf
pyocf: format all .py files with black -l 100
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 16:44:19 +02:00
Adam Rutkowski
3a1b6fd718
Merge pull request #695 from arutk/failover_test_5
...
pyocf: failover functional and power failure recovery tests
2022-05-16 16:37:45 +02:00
Adam Rutkowski
fcfbd860c4
pyocf: fix error volume stats reset
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
a504821302
pyocf: separate get_conf() from stats in Cache
...
Configuration parameters are available in standby mode, while
stats are not. Need to separate the two.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
3d83e1f004
pyocf: more generic erorr device volume
...
Make ErrorDevice a wraper over any type of volume rather than
inheriting from RamVolume. This way error injection layer can be added
over any type of volume.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
d8e519855b
pyocf: more options to standby load
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
b78c36ccdd
pyocf: add missing import Volume in cache
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
6a03145acf
pyocf: cache/core object volume fixes
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
2dde108cd9
pyocf: collision addr helper
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
978620f9e3
pyocf: move C wrappers to newly added "c" diretory
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
f66eefb3bd
pyocf: remember queue name
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
7c186f5d0e
pyocf: make queues a required rio param
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:18 +02:00
Adam Rutkowski
c37ffea4c2
pyocf: add from_page() method to Size class
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-05-16 15:40:16 +02:00
Robert Baldyga
ed012411d3
Add disable_cleaner field to CacheAttachConfig
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-04-28 13:04:27 +02:00
Robert Baldyga
94aca1e8e4
pyocf: Remove non-existing field from CacheAttachConfig
...
This field has been moved to CacheDeviceConfig.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-04-28 13:04:27 +02:00
Adam Rutkowski
650511df4e
pyocf: remove Queue objects from Cache::start() params
...
... since a started cache is required to construct a queue object.
Instead add params to control whether to construct and register
management and default I/O queue in start().
Additionally introducing Cache method to register additional I/O
queues.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-04-13 10:38:57 +02:00
Robert Baldyga
a64fc61413
Merge pull request #666 from arutk/pyocf_vol_cleaniup
...
pyocf: volume changes required for failover tests
2022-03-29 10:02:01 +02:00
Robert Baldyga
cf2d4327a1
Merge pull request #667 from arutk/pyocf_failover_api
...
pyocf: failover API in Cache
2022-03-29 09:32:00 +02:00
Robert Baldyga
af43a240d3
Return more specific error on CRC mismatch
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-03-28 22:42:59 +02:00
Adam Rutkowski
5c39af81ca
pyocf: failover api
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 16:24:43 +02:00
Adam Rutkowski
0e8d02235a
pyocf: Move core/cache md5() logic to volume
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:37:11 +02:00
Adam Rutkowski
16c85c1560
Remove ocf_core_new_io
...
This function is equivalent to calling ocf_volume_new_io()
on core front volume
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:36:19 +02:00
Adam Rutkowski
9e88afad62
pyocf: cache and core exported object volumes
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:35:18 +02:00
Adam Rutkowski
d2164e4ffd
pyocf: replicated volume
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
dcf3129ff8
Extract Volume::open() class method
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
d60e48ee26
pyocf: ocf_volume_new_io wrapper
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
e0c762387c
pyocf: implement get_(front_)volume() in Cache and Core
...
This common interface is later going to be used for generic code
implementing cache/core exported object I/O.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
2672f5460a
pyocf: unique volume ops for each volume class
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
7cb9523d8c
pyocf: volume offlining
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
33b134242b
pyocf: remove trace volume
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
838870fa10
pyocf: Use abstract Volume in generic code paths
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
9e13364896
pyocf: Extract generic volume logic from RamVolume
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
16f9d58f28
pyocf: Rename Volume to RamVolume
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
062f63e4ff
pyocf: Volume not to inherit from ctypes.Structure
...
Volume object is never referenced from C code, so there
is no need to inherit from ctypes.Structure.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
9975706488
pyocf: Move poison out of Volume class
...
.. so that abstract Volume does not need to be imported to access
the poison value.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
232133302b
pyocf: use generic volume submit in io class
...
.. instead of submit_core(). This will enable to reuse Io class
for cache exported object I/O.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00
Adam Rutkowski
2de7b9d8f2
pyocf: submit_flush() and submit_dicard()
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-03-28 10:29:02 +02:00