Commit Graph

221 Commits

Author SHA1 Message Date
Adam Rutkowski
9528d1bf64 Add secure alloc/free to posix env
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-18 17:53:59 -04:00
Michał Mielewczyk
d4e929140e
Merge pull request #127 from arutk/pytest_wait_io
pyocf: wait for pending I/O before cache stop
2019-04-18 09:21:50 +02:00
Michał Mielewczyk
2af7e7b4de
Merge pull request #125 from arutk/vol_ref_cnt
Wait for IO put in volume close
2019-04-18 09:02:58 +02:00
Katarzyna Łapińska
c80ca4a9a8
Merge pull request #122 from KamilLepek/security_tests
Add security fuzzy tests and improve pyocf api
2019-04-18 07:33:11 +02:00
Adam Rutkowski
1efb301462 Wait for IO put in volume close
Volume close should not close underlying device until all
I/O targeting this volume are deallocated. To achieve this
a reference counter is added to volume. Counter value
matches number of I/O objects associated with volume. Counter
is freezed when volume is closed, blocking allocation of new
I/O objects.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-17 23:12:04 -04:00
Adam Rutkowski
407470c25d Add reference counter init routine
This is useful when reference counter is initialized in non-zeroed
memory (or assuming atomic variable is not properly initialized by
memseting to zero).

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-17 23:12:04 -04:00
Adam Rutkowski
d607402f2b pyocf: wait for pending I/O before cache stop
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-17 18:12:56 -04:00
Adam Rutkowski
c8fbb99284
Merge pull request #126 from mmichal10/rename-printf
Rename 'printf' field name in logger ops to 'print'.
2019-04-17 15:24:23 -04:00
Michal Mielewczyk
5e52ac4ef2 Rename 'printf' field name in logger ops to 'print'.
Due the aggresive security checks in compiler 'printf' might be substituded with
'__printf_chk'. However it does not differentiate whether substituted string is
library function call whether field in structure.

By renaming field we prevent it to be unintentionally subustituted by the
preprocessor.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-04-17 11:37:47 -04:00
Michal Mielewczyk
ff079aa5b4 Initialize variable meant for keeping ocf_mngt_start_trace() result.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-04-17 11:28:05 -04:00
Jan Musiał
121b3233e4
Merge pull request #120 from arutk/core-query-api
Add API to query for core devices associated with cache
2019-04-17 13:33:04 +02:00
Adam Rutkowski
dfd89dd43a Probe core UUIDs from metadata
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-17 14:07:42 -04:00
Kamil Lepek
d55195ecf5 Add security fuzzy tests and improve pyocf api
Fuzzy tests added for:
changing cache mode
attaching cache device with fuzzed cache line size
setting cleaning policy
setting alru params
setting acp params
setting seq cut off policy per cache
setting seq cut off policy per core
2019-04-17 12:46:25 +02:00
Kamil Łepek
057777e91d
Merge pull request #121 from micrakow/seq_cutoff_policy_check
Added seq_cutoff_policy check
2019-04-16 15:02:25 +02:00
Michal Rakowski
4652b009d6 Added seq_cutoff_policy check
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-04-16 14:48:41 +02:00
Kamil Łepek
00c434fb66
Merge pull request #115 from imjfckm/leaks
Fix leaky tests
2019-04-16 10:20:56 +02:00
Katarzyna Łapińska
dbf7f15a76
Merge pull request #118 from KamilLepek/fuzzy
Add randomizers for ctypes and string in pyocf
2019-04-16 10:16:39 +02:00
Jan Musial
003d6505aa Fix leaky tests
Fix some instance tracking to prevent Python-side objects from leaking
buffers.
Also, reduce min size of Cache instance (real minimum should be around ~~19MiB,
but we need to make it more deterministic and 20 MiB seems to be reasonable).

Still some stuff left to do, but it needs more investigation and, for
now, this should suffice just to enable some form of CI.

Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-16 09:55:02 +02:00
Kamil Lepek
465e9acd2c Add randomizers for ctypes and string in pyocf 2019-04-16 09:51:02 +02:00
Adam Rutkowski
f0c3e049c6
Merge pull request #117 from mmichal10/null-ptr-on-cache-id-reuse
Fix teardown after failed start cache operation.
2019-04-11 09:03:09 -04:00
Daniel Madej
58106fc929
Merge pull request #110 from KamilLepek/change_mode
Added cache mode change in pyocf and basic test
2019-04-11 13:08:31 +02:00
Michał Wysoczański
10fccdda8a
Merge pull request #114 from arutk/ajrutkow-detach-error-handling
Fix error handling in cache unplug
2019-04-11 10:59:45 +02:00
Kamil Lepek
5ceb69e9c8 Added cache mode change in pyocf and basic test 2019-04-11 10:57:25 +02:00
Michal Mielewczyk
fbfd17ec42 Fix teardown after failed start cache operation.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-04-11 04:33:32 -04:00
Adam Rutkowski
a6e7ee528e Fix error handling in cache unplug
Errors not related to cache disk I/O failure should force
cache stop to return with error without deinitializing cache
instance.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-10 15:15:12 -04:00
Daniel Madej
f9c22262fb
Merge pull request #109 from KamilLepek/add_remove
Pyocf add/remove tests
2019-04-10 15:02:22 +02:00
Adam Rutkowski
aad1c05aee
Merge pull request #111 from imjfckm/master
Stop using mgmt queue for IO in pyocf
2019-04-10 06:06:45 -04:00
Jan Musial
db46a9decb Stop using mgmt queue for IO in pyocf
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-10 11:25:39 +02:00
Kamil Lepek
c453bddc28 Pyocf add/remove tests 2019-04-09 10:17:39 +02:00
Michal Rakowski
6188f3689e
Merge pull request #107 from imjfckm/master
Fix IO queue validation
2019-04-08 14:51:55 +02:00
Jan Musial
15fb0d04bd Fix IO queue validation
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-08 14:40:20 +02:00
Adam Rutkowski
2a98cf8737
Merge pull request #105 from imjfckm/master
Fix flushing of volatile metadata containers
2019-04-08 07:01:20 -04:00
Jan Musial
5d6277e7cf Fix flushing of volatile metadata containers
Before async metadata we used to return 0 on flushing volatile
containers, this way we didn't have to special-case them.
This change brings back this behavior.

Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-08 12:39:53 +02:00
Jan Musiał
c298aaa5a9
Merge pull request #101 from Deixx/cache_flush
Extract cache.flush() method from cache.stop()
2019-04-08 11:16:11 +02:00
Michał Mielewczyk
f9e5d019df
Merge pull request #103 from arutk/arutk-force-separate-mngmt-io-queue
Do not allow top volume I/O on management queue
2019-04-05 13:22:40 +02:00
Adam Rutkowski
d88a4ac57a Do not allow top volume I/O on management queue
Core volume I/O must not be queued on management queue - this would
break I/O accounting code, resulting in use-after-free type of errors
after cache detach, core remove etc.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-05 14:55:28 -04:00
Michal Rakowski
b8ff6e515f
Merge pull request #102 from arutk/ajrutkow-fix-core-flush-interrupt-logic
Reset interrupted flag in core_flush
2019-04-05 12:11:08 +02:00
Adam Rutkowski
0b68e02e9a Reset interrupted flag in core_flush
This line got lost in async flush rework

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-04-05 13:26:55 -04:00
Daniel Madej
1fa52e84a8 Extract cache.flush() method from cache.stop()
Signed-off-by: Daniel Madej <daniel.madej@intel.com>
2019-04-04 11:13:45 +02:00
Katarzyna Łapińska
659a587d04
Merge pull request #100 from imjfckm/master
Add remove_core fcn
2019-04-04 11:12:35 +02:00
Jan Musial
be773a45af Add remove_core fcn
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-04 10:58:29 +02:00
Daniel Madej
d9d4f2fab1
Merge pull request #99 from katlapinka/ini
Ini
2019-04-04 10:50:39 +02:00
Daniel Madej
506279baf9
Merge pull request #98 from imjfckm/master
Fix core_new_io
2019-04-04 10:37:29 +02:00
klapinsk
a8780655e2 *.ini files added 2019-04-04 10:29:20 +02:00
Jan Musial
753ab00331 Fix core_new_io
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-03 15:48:14 +02:00
Michal Rakowski
a8eac88778
Merge pull request #97 from imjfckm/master
Make libocf.so loading CWD independent
2019-04-03 12:57:20 +02:00
Jan Musiał
36690f7e1f
Merge 59178eef01 into 0c6bdaeba4 2019-04-03 10:32:16 +00:00
Jan Musial
59178eef01 Make libocf.so loading CWD independent
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-03 12:28:15 +02:00
Kamil Łepek
0c6bdaeba4
Merge pull request #95 from imjfckm/master
Make pyocf work with async API
2019-04-03 12:26:47 +02:00
Jan Musial
545d5b8aac Make pyocf work with async API
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-04-03 11:13:27 +02:00