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
Adam Rutkowski
03df6d3eee
Merge pull request #683 from robertbaldyga/better-error-on-crc-mismatch
...
Return more specific error on CRC mismatch
2022-03-29 09:24:52 +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
Robert Baldyga
84aa968877
Check for load error before accessing metadata content
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-28 22:08:05 +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
Robert Baldyga
174f7b5c2b
Merge pull request #682 from jfckm/zero-cache-volume-priv
...
Zero cache_volume priv on close
2022-03-28 16:02:02 +02:00
Robert Baldyga
8e7fae110e
Merge pull request #681 from arutk/extra_seek_mio
...
Add extra data seek before data fill in mio
2022-03-28 16:00:11 +02:00
Jan Musial
43e643873a
Zero cache_volume priv on close
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-03-28 14:50:25 +02:00
Adam Rutkowski
6b6300c646
Add extra data seek before data fill in mio
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-03-28 14:26:51 +02:00
Robert Baldyga
223ba0b025
Merge pull request #678 from arutk/pes
...
Verify standby/active cache state in OCF entry points
2022-03-28 12:07:06 +02:00
Robert Baldyga
2cba3f4473
Merge pull request #673 from jfckm/settle-in-tests
...
Settle in start_stop tests before checking stats
2022-03-28 09:47:18 +02:00
Adam Rutkowski
4a839cd332
Verify standby/active cache state in OCF entry points
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-03-28 09:42:02 +02:00
Robert Baldyga
e741160f8d
Merge pull request #680 from robertbaldyga/core-remove-err-recoverable
...
Make core remove error recoverable
2022-03-28 08:58:07 +02:00
Robert Baldyga
aa4622cc01
Make core remove error recoverable
...
First try to clean only the mapping. This operation does not require any
rollback, so even if flushing collision fails, core object is still
intact. In case of error we inform user that core was not removed by
returning new error code (-OCF_ERR_CORE_NOT_REMOVED).
After flushing collision succeeds we remove core from metadata and
flush superblock at the end. At that point the core is fully removed
from OCF and even if superblock flush error occurs there is nothing we
can do about it, so we just return the error code.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-25 21:32:55 +01:00
Robert Baldyga
6d88242e2c
Merge pull request #671 from robertbaldyga/cache-vol-flush-no-set-data
...
Don't attempt to set data for flush/discard on cache volume
2022-03-18 11:29:42 +01:00
Jan Musial
4d3abc37d5
Settle in start_stop tests before checking stats
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-03-18 10:56:46 +01:00
Robert Baldyga
643e103fe7
Don't attempt to set data for flush/discard on cache volume
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-17 21:18:31 +01:00
Robert Baldyga
4690cd60fe
Merge pull request #669 from robertbaldyga/remove-unused-error-code
...
Remove unused error code
2022-03-09 14:33:29 +01:00
Robert Baldyga
4fc3f8f0d1
Remove extra whitespace
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-09 11:44:27 +01:00
Robert Baldyga
d46845b97a
Remove unused error code
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-09 11:43:35 +01:00
Robert Baldyga
be4927f524
Merge pull request #665 from robertbaldyga/remove-metadata-layout
...
Remove "metadata_layout" parameter of the cache
2022-03-08 08:51:22 +01:00
Robert Baldyga
d5b2c65a39
Remove "metadata_layout" parameter of the cache
...
This feature is replaced with LRU list shuffling.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-07 17:48:25 +01:00
Robert Baldyga
9a956f59cd
Merge pull request #654 from Open-CAS/fix-flapping-merge
...
Porting fix-flapping patches from v21.6.4 by arutk
2022-03-05 01:31:23 +01:00
Adam Rutkowski
689c44c76b
Remove ocf_metadata_probe_cores() implementation
...
This function must be fixed to work with metadata flapping. Until then
mark as not supported
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com >
2022-03-04 19:13:40 +01:00
Adam Rutkowski
866bba72bf
Explicitly validate superblock after load
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
Additional changes - load sb recovery CRC check
Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com >
2022-03-04 19:12:51 +01:00
Robert Baldyga
90ff4afcda
Check superblock CRC before it is used
...
Superblock can be used during load of other sections, so we need to check
its CRC before other sections are loaded.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com >
2022-03-04 19:12:08 +01:00
Krzysztof Majzerowicz-Jaszcz
06f2140090
Removing ocf_metadata_sb_crc_recovery
...
Removing ocf_metadata_sb_crc_recovery - not used
Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com >
2022-03-04 19:10:47 +01:00
Robert Baldyga
1cce6bf24b
Merge pull request #664 from robertbaldyga/improve-bf
...
Extend BF queue protection to cache device queue
2022-03-04 18:50:43 +01:00
Robert Baldyga
73f3b73f0f
Merge pull request #663 from pdebski21/1023_xfail
...
Test for load with changed core size
2022-03-02 21:03:00 +01:00
Robert Baldyga
45cc56f40d
Extend BF queue protection to cache device queue
...
So far the only resource protected by backfill queue blocking was internal
OCF request queue. Move unblock to backfill io completion to protect also
queue of underlying cache device.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-03-02 20:59:51 +01:00
Robert Baldyga
b94518130a
Merge pull request #588 from arutk/rio-io-tester
...
Rio - I/O exerciser for pyocf
2022-03-01 14:07:04 +01:00
Robert Baldyga
87d71f319e
Merge pull request #662 from jfckm/fix-invalid-message-try-add
...
Fix message when try-adding already opened core
2022-03-01 14:06:30 +01:00
Robert Baldyga
765d1c5d77
rio: fix size comparison in
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com >
2022-02-24 15:02:46 +01:00
Jan Musial
cd0551e72e
Use rio in promotion policy tests
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 14:56:09 +01:00
Adam Rutkowski
a6d8bd0470
rio: accept queue list in Rio constructor
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 14:56:09 +01:00
Adam Rutkowski
372b1f1e1c
remove unnecessary callback decorator in rio
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-02-24 14:56:09 +01:00
Adam Rutkowski
9baf9a3876
rio: convert Size to bytes for extent calculation
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-02-24 14:56:09 +01:00
Jan Musial
9360e55851
Update basic pyOCF tests to use rio
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-02-24 14:56:09 +01:00
Adam Rutkowski
17eddab094
pyocf: queue settle functionality
...
Queue settle is a mechanism to wait for all OCF processing
on a given queue to finish.
In some tests simply waiting for I/O to finish is not enough. Most
notably some statistics are potentially incremented after user triggered
I/O is finished. This is due to asynchronous nature of I/O operations
and OCF approach to statistics update, where only eventual consistency
is guaranteed without explicit mechanism available to query whether
the final state is reached yet. However it is fully in the adapter power
to determine this, as OCF executes in context of API calls from the
adapter (like I/O submission, ocf_queue_run, ocf_cleaner_run, management
operations) and I/O completion callbacks. Queue settle is a mechanism to
assure ocf_queue_run is not being executed by the thread associated with
a queue.
With queue settle mechanism it is straightforward for the adapter to
wait for cache statistics to reach fixed values:
1. wait for all I/O to OCF to finish
2. settle all I/O queues
3. make sure background cleaner is not active
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-02-24 14:56:09 +01:00
Jan Musial
41732090ae
Implement rio io tester for pyocf
...
rio stands for Rigid IO tester and is a simple mechanism for testing
OCF cache IO.
Signed-off-by: Jan Musial <jan.musial@intel.com >
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com >
2022-02-24 14:56:09 +01:00
Jan Musial
96124ca87a
Enable Size comparisons in pyocf
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 14:56:09 +01:00
Adam Rutkowski
021e7e87ad
Merge pull request #559 from jfckm/pyocf-loading
...
Make loading in pyocf viable
2022-02-24 14:08:09 +01:00
Jan Musial
9fcc7bfbb7
Use new capabilities in surprise shutdown tests
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
5d31dd87d0
Test for open_cores load
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
973a474b37
Make open_cores load viable by adding getter for cores
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
53d2c5a197
Fix test_start_stop_noqueue
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
bfee654770
Add wrapper for cache_config_set_default
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
6f1080d6a8
Add missing include in ocf_volume.h
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
2038c3aa68
Add basic load test with core reattachment and cleanup structures
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00
Jan Musial
30fe2eb783
Handle try_add core adding mode
...
Signed-off-by: Jan Musial <jan.musial@intel.com >
2022-02-24 12:27:10 +01:00