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
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
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
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