Commit Graph

208 Commits

Author SHA1 Message Date
Robert Baldyga
58403f2cd4 Test with io aligned to sector size
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-10-02 19:46:28 +02:00
Michal Rakowski
74954667a2
Merge pull request #308 from arutk/fix_hash_bucket_lock_iter
Fix hash bucket lock iter
2019-10-02 17:22:12 +02:00
Adam Rutkowski
a3f3a79f75 unit test: extend hash bucket locking test
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-10-02 18:43:46 -04:00
Michał Mielewczyk
1ef67ec4b2
Merge pull request #305 from KamilLepek/remove_sec_test
Remove redundant security test (id has been removed for cache in ocf)
2019-10-02 14:58:17 +02:00
Kamil Lepek
fe0d663c25 Remove redundant security test (id has been removed for cache in ocf)
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-10-02 14:06:06 +02:00
Slawomir_Jankowski
717b8aa259 UT prapare update
**CMake lists**: link Zlib;
include libs for UT during compilation.
**prapare script**: add path to regular ocf_env files;
ignore 'memcpy' functions when copied to wrappers.
**cleaning policy**: update of some functions for proper use of atomics.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-10-01 14:28:27 +02:00
Slawomir_Jankowski
5d0a6fa05a UT cleanup and path update
**run tests script**: cleanup before UT starts;
usage of regular ocf_env files by symlinks.
**tests conifg**: add path to regular ocf_env files.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-10-01 14:26:38 +02:00
Slawomir_Jankowski
e248c68846 Delete duplicates
Delete unnecessary duplicated ocf_env files from UT directory.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-10-01 14:25:26 +02:00
Slawomir_Jankowski
0696ec1f9c Aesthetic changes
Aesthetic changes, typos fix and delete recursive inclusions.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-10-01 14:24:16 +02:00
Michał Mielewczyk
e02821d399
Merge pull request #302 from Deixx/empty-cache-name
Recognize empty string as an incorrect cache name
2019-10-01 13:19:20 +02:00
Daniel Madej
35d71e14f3 Recognize empty string as an incorrect cache name
Signed-off-by: Daniel Madej <daniel.madej@intel.com>
2019-10-01 12:55:46 +02:00
Adam Rutkowski
5113542c7f
Merge pull request #297 from mmichal10/pp-params-in-sb
Store PP config params in cache superblock.
2019-10-01 12:32:15 +02:00
Michal Mielewczyk
e16d4e6dda Initialize promotion policy on cache attach.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-10-01 06:11:53 -04:00
Robert Baldyga
29f0f33502 tests: functional: Add pretty random generators
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-10-01 09:49:02 +02:00
Slawomir_Jankowski
cdf0caf704 **ocf_mngt.h**: In core name change
pointer type to array which is 32 characters long;
**core.py**: Add missing import and modify class' field type
to keep consistency;
**ocf_mngt_core**: Remove local variable 'name';
remove env_vmalloc for 'name' - isn't no longer needed;
remove initialization 'name' - as above;
remove env_vfree for context->cfg.name - variable isn't no allocated
in memory;
check if cfg->name exists;
change label in goto from deleted err_name to the closest err_pipeline.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-09-30 15:55:33 +02:00
Michal Mielewczyk
dfc55538ce Store PP config params in cache superblock.
It allows to modify and retrieve particular PP params event if it isn't active
and store values between cache stop and load.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-27 10:55:58 -04:00
Robert Baldyga
6a0fb109e8 test_eviction: Use new_io() method with proper arguments
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-09-27 12:08:11 +02:00
Michal Mielewczyk
d332c9d97f New ocf error code in test framework.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-25 03:54:33 -04:00
Adam Rutkowski
938795e081 Unit tests for hash bucket locks ordering
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-20 17:21:00 -04:00
Jan Musial
21a3945a3c Fix PP tests
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-20 14:56:32 +02:00
Michał Mielewczyk
9d41c94827
Merge pull request #264 from KamilLepek/new_sec
Negative tests for promotion policy
2019-09-19 12:45:09 +02:00
Jan Musial
6b1d1754db Fix secure erase tests
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-19 10:10:20 +02:00
Kamil Lepek
71d8c8d698 Negative tests for promotion policy
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-09-18 17:59:40 +02:00
Kamil Lepek
daae1b915d Fix for security tests need of name param when creating multiple cores
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-09-18 11:12:58 +02:00
Michał Mielewczyk
0391fc17b7
Merge pull request #255 from imjfckm/pp-tests
Add promotion policies functional tests
2019-09-16 09:34:16 +02:00
Michal Mielewczyk
5042c5fc43 pyocf: adapt tests to new inactive cores stats.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-16 02:49:42 -04:00
Jan Musial
9c51ca4e97 Tests for promotion policy
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-11 10:31:14 +02:00
Michal Rakowski
29c1c7f9e8
Merge pull request #253 from mmichal10/stats-refactor
Stats builder for ioclasses
2019-09-10 14:56:26 +02:00
Michal Mielewczyk
5f357272d1 pyocf: adjust pyocf to new core stats api
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-10 08:01:09 -04:00
Adam Rutkowski
0c31cc62d0 Freelist test
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:52 -04:00
Adam Rutkowski
964ba85467 unit tests: improve test logs content
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-09 16:19:52 -04:00
Robert Bałdyga
5fd239d2bb
Merge pull request #245 from imjfckm/switching-pp
Switching mechanism for promotion policies
2019-08-30 11:35:16 +02:00
Adam Rutkowski
63c71ec6df pytest: basic cache recovery test
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-08-29 17:06:26 -04:00
Jan Musial
a1d3cf0c4d Switching mechanism for promotion policies
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-08-29 13:24:26 +02:00
Michal Rakowski
e3a20c0da0
Merge pull request #239 from imjfckm/pp-implementation
nhit promotion policy implementation
2019-08-27 12:42:03 +02:00
Jan Musial
62a0ccdd9f nhit promotion policy implementation
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-08-22 13:34:38 +02:00
Michal Mielewczyk
03590c880d pyocf: store cache name for newly initialized cache in array.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-08-20 03:31:32 -04:00
Robert Baldyga
1815b784ad pyocf: Fix tests to send io aligned to sector size
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-08-13 10:33:21 +02:00
Slawomir_Jankowski
679bc38770 OCF Cleanup
**ocf_env**: deleting unused functions from main file

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-08-09 14:45:29 +02:00
Michal Mielewczyk
0d37d14a36 pyocf: additional filed in volume type properties
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-08-05 06:39:27 -04:00
Michał Mielewczyk
7f7e8bcdf5
Merge pull request #197 from arutk/wo_test_2
pytest: control cacheline insertion order in WO tests
2019-07-31 09:21:03 +02:00
Jan Musiał
6514f778d5
Merge pull request #199 from KamilLepek/evict
Eviction test for request bigger than cache
2019-07-30 12:05:56 +02:00
Robert Baldyga
37396e7f1b Remove core id - update tests 2019-07-30 09:26:26 +02:00
Robert Baldyga
a32ca74519 Remove cache id - test update
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-30 09:26:26 +02:00
Robert Baldyga
b73b2857dd Unique core name - test update
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-29 17:37:48 +02:00
Robert Baldyga
9853814252 Unique cache name - test update
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-29 17:37:48 +02:00
Robert Baldyga
6928db4a98 tests: functional: Remove non-existing field from CoreConfig
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-29 15:08:44 +02:00
Kamil Łepek
05be67a72b
Merge pull request #220 from arutk/metadata_offset_hash
New hash function formula
2019-07-29 13:03:04 +02:00
Adam Rutkowski
9b8815935a Unit test for hashing function
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-07-29 13:24:25 -04:00
Adam Rutkowski
494861c994 Rename cache_concurrency to cache_line_concurrency
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-07-24 15:32:12 -04:00
Jan Musiał
1fd1a6fe17
Merge pull request #209 from arutk/stop_no_queue
Allow to stop cache without management queue
2019-07-23 13:51:21 +02:00
Jan Musiał
232f0cd8d7
Merge pull request #216 from robertbaldyga/io-and-req-in-single-allocation
Allocate io and req in single allocation
2019-07-23 11:40:30 +02:00
Jan Musial
917cbd859a Add promotion policy API and use it in I/O path
Promotion policy is supposed to perform ALRU noise filtering by
eliminating one-hit wonders being added to cache and polluting it.

Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-07-19 13:52:00 +02:00
Robert Baldyga
2efd563df1 Merge new_io and configure - update tests
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-17 10:31:23 +02:00
Robert Baldyga
1454b75c0f ocf_io_internal - update tests
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-17 10:31:23 +02:00
Adam Rutkowski
af4727675a pytest: simple start stop without mngmt queue test
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-07-08 18:26:35 -04:00
Michal Mielewczyk
0c8bc4cec5 pyocf: add new error OCF error code to test framework
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-07-08 09:23:32 -04:00
Adam Rutkowski
6fb1a697a4
Merge pull request #211 from mmichal10/fix-unit-test
Prevent warpping ocf_mngt_cache_mode_has_lazy_write() in UT.
2019-06-28 08:21:05 -04:00
Michal Mielewczyk
3005b6b5b5 Prevent warpping ocf_mngt_cache_mode_has_lazy_write() in UT.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-06-28 07:39:24 -04:00
Kamil Lepek
824009abfc Eviction test for request bigger than cache
Added a test which checks if eviction is triggered upon writing to cache with request bigger than cache size.
IO should go directly to core and eviction should not occur.

Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-06-28 09:43:32 +02:00
Daniel Madej
647601c514
Merge pull request #208 from KamilLepek/unregister_volume_fix
Removed wrong status check during unregister_volume_type in pyocf.
2019-06-27 14:58:06 +02:00
Daniel Madej
83d9ec7c98
Merge pull request #198 from KamilLepek/fix_xfail
Fix wb xfailed test, update exported obj md5
2019-06-27 14:51:58 +02:00
Kamil Lepek
27de628013 Removed wrong status check during unregister_volume_type in pyocf.
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-06-26 15:07:19 +02:00
Adam Rutkowski
c89b982933 pytest: control cacheline insertion order in WO tests
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-18 18:25:46 -04:00
Michał Mielewczyk
0d1011f65b
Merge pull request #195 from KamilLepek/fix
Pyocf minor api fixes
2019-06-18 16:30:23 +02:00
Kamil Lepek
bdfd086d81 Fix wb xfailed test, update exported obj md5
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-06-18 15:46:15 +02:00
Kamil Lepek
70142eef7f Pyocf minor api fixes
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-06-14 18:15:22 +02:00
Adam Rutkowski
34a5b8e882
Merge pull request #187 from KamilLepek/config
Create config which excludes tests marked as "long" and security tests by default
2019-06-14 11:23:36 -04:00
Kamil Lepek
e52d34c1c8 Adapt all python code to PEP8 style standards
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-06-13 17:55:41 +02:00
Adam Rutkowski
4a548d26cf functional tests: only send sector-aligned IO
... to satisfy OCF assumptions.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Adam Rutkowski
31ab2b3fe6 pyocf: add sector size logic to Size class
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Adam Rutkowski
641fba1708 Functional tests for WO cache mode
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Adam Rutkowski
a6312eb8aa Update management tests for WO (Write-only) cache mode
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Adam Rutkowski
7b7d65e092 pyocf: fix setting data offset in IO
When setting data in IO, the offset should be stored in
IO itself, not data object.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:01 -04:00
Kamil Lepek
d416d166f2 Create config which excludes tests marked as "long" and security tests by default
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-06-10 13:04:49 +02:00
Michal Mielewczyk
3e2ee7a7c8 UT framerwok: Auto generating wrap functions
Test code have to contain wraps only for those functions, which are used by
test itself. Empty wraps are generated automatically by UT framework.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-06-06 08:20:25 -04:00
Michal Mielewczyk
e6bedb692c Unified management functions prefix.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-06-05 09:31:59 -04:00
Michal Rakowski
9f4536c6e3 Error codes in IO path changed to OCF-specific
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-06-05 09:10:54 +02:00
Robert Baldyga
711de86bff Associate core metadata with core object
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-28 14:49:59 +02:00
Robert Baldyga
46ae8b2ff1 Remove unused OCF_ERR_CACHE_IN_USE error code
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-28 11:20:48 +02:00
Robert Baldyga
8a82be339f Introduce asynchronous cache lock
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-28 11:20:48 +02:00
Robert Baldyga
bdcd4df0ef Remove utils_device.h
Move core mngt related code to ocf_mngt_core.c

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-27 17:00:39 +02:00
Robert Baldyga
7de56940a4 Move ocf_request from utils
ocf_request has always been first class citizen in OCF,
so lets place it along with another essential objects.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-27 15:51:27 +02:00
Robert Baldyga
ab2fc6d3c3 Rename utils_allocator to utils_realloc
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-27 13:10:17 +02:00
Michał Mielewczyk
b1321edf69
Merge pull request #170 from robertbaldyga/convert-ut-to-python3
Convert UT scripts to python3
2019-05-27 09:58:26 +02:00
Jan Musiał
93a06686a7
Merge pull request #165 from robertbaldyga/ctx-get-put
Give ocf_ctx get/put semantics
2019-05-24 14:29:04 +02:00
Robert Baldyga
a671a28282 Convert UT scripts to python3
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-24 10:13:50 +02:00
Robert Baldyga
c903d13ad2 Give ocf_ctx get/put semantics
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-23 15:50:10 +02:00
Michał Mielewczyk
16a01d7698
Merge pull request #157 from KamilLepek/management
Added a few management tests (changing configuration)
2019-05-22 16:20:16 +02:00
Kamil Lepek
54c0e48fce Pyocf test checking if default values are correct
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-05-22 16:09:02 +02:00
Kamil Lepek
ecd492e562 Added a few management tests (changing configuration after start and checking statistics)
Fixed core/cache stats pyocf API

Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-05-22 15:34:07 +02:00
Kamil Lepek
827a115fa9 Gather all unit tests logs in single directory
Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-05-17 11:35:33 +02:00
Daniel Madej
3da9059e50
Merge pull request #143 from imjfckm/master
Fix loading of cache in pyocf
2019-05-17 10:59:04 +02:00
Kamil Lepek
382c31a8e0 Save unit tests output to file
Seperate output of different script stages

Signed-off-by: Kamil Lepek <kamil.lepek94@gmail.com>
2019-05-16 10:26:02 +02:00
Jan Musial
991bcf3491 Fix loading of cache in pyocf
Flush/load metadata paths are heavily dependend on Data behaving
correctly in terms of seeks/position and that needed to be fixed.

Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-05-10 15:34:23 +02:00
Michal Mielewczyk
7165bc16c3 Add kick function for cleaner
ocf_kick_cleaner() allows to perfom cleaning immediately.

Nop cleaning policy now returns new 'OCF_CLEANER_DISABLE' macro which indicates
that cleaing shouldn't be performed. To enable it back, ocf_kick_cleaner()
should be called.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-05-10 08:09:56 -04:00
Robert Bałdyga
1c9fe96663
Merge pull request #133 from arutk/ajrutkow_async_counters
Extended reference counting
2019-05-08 14:23:50 +02:00
Adam Rutkowski
1e812b4eaf Unit tests for reference counter utility
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-05-07 12:40:06 -04:00
Robert Baldyga
7b88aac56f Remove "interruption" argument from flush() functions
As non-interruptible flushes are no longer triggered from OCF
internals, we can get rid of "interruption" argument and let
adapters handle it themselves.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-07 17:23:19 +02:00
Adam Rutkowski
c8e6b96ece pyocf: remove put from cache stop to match get count
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-05-06 19:37:51 -04:00