Jan Musial
aec01f216c
Revert "Disallow ocf_cache_mode_max in io_class config"
...
This reverts commit 5ad5c521df
.
This change broke setting IO-classes with allocation. We use max as a
special value to indicate that the partition should use cache global
caching mode.
2019-06-14 14:08:28 +02:00
Michał Mielewczyk
f9f75e7265
Merge branch 'master' into wo_improvements
2019-06-13 11:32:06 +02:00
Adam Rutkowski
6bb1d21489
Do not repartition cachelines in WO read
...
WO cache mode should not repartition cachelines nor affect cacheline
status in any way when servicing read. Reading data from the cache
is just an internal optimization. Also WO cache mode is designed to
be used with partitioning based on write life-time hints and read
requests do not carry write lifetime hint by definition.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-13 13:14:30 -04:00
Michal Mielewczyk
e8b24d811b
Check if all required ops are provided by adapter.
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-06-13 04:46:03 -04:00
Adam Rutkowski
9dc1381b77
Refactor ocf_submit_cache_reqs map indexing
...
Refactoring ocf_submit_cache_reqs to make it clear that
req->map is accessed at index derived from offset argument,
not necesarily starting at 0.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 18:56:40 -04:00
Adam Rutkowski
b82ed3af26
Initialize @increment in ocf_read_wo_cache_do
...
Static code analyzers fail to understand that this variable
is always assigned to before usage.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 13:44:01 -04:00
Adam Rutkowski
b97bb6f53b
Add function to check for lazy write cache mode (WO or WB)
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Adam Rutkowski
82e8c55f4a
Write-only cache mode
...
Write-only cache mode is similar to writeback, however read
operations do not promote data to cache. Reads are mostly serviced
by the core device, only dirty sectors are fetched from the cache.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Adam Rutkowski
ae6164a49c
Helper functions to get request start/end sector in cacheline
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-12 12:07:02 -04:00
Michal Mielewczyk
328d27846a
Prevent overriding null terminator in cache name
2019-06-11 12:12:07 +02:00
Michal Mielewczyk
46c17144f6
Remove redundant check for core id
2019-06-11 12:12:07 +02:00
Michal Mielewczyk
6cdbac82bc
Check for valid core_id value
2019-06-11 12:12:07 +02:00
Michal Mielewczyk
fc5334e419
Return memcpy result
2019-06-11 12:12:07 +02:00
Michal Rakowski
29199cb5d4
Added missing metadata_unlock
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-06-11 12:12:07 +02:00
Michal Rakowski
4789fb38f0
Added asserts in sample env for synchronization functions
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-06-11 11:01:06 +02:00
Michal Rakowski
b1cf6c4642
Changed always returning 0 to void foo
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-06-11 09:53:40 +02:00
Michal Rakowski
30ac3abd74
Small get_ram_needed fix, proper volume is initialized now.
2019-06-11 09:53:40 +02:00
Michal Mielewczyk
be64173066
Fix order of operations in cache stop completion
...
Prevent metadata updater being freed by pyocf before it's deinitialized by ocf.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-06-06 09:03:26 -04:00
Michal Rakowski
d714f6235b
Use rate limited logging in case of engine error
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-06-06 11:27:25 +02: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
f240f81641
Make request structure more compressed
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-06-03 19:19:29 +02:00
Adam Rutkowski
d7b3a187e4
Fix condition for setting req->info.dirty_all
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-05-31 19:10:11 -04:00
Michal Wysoczanski
d27f81c588
Add missing new line in error message
...
Signed-off-by: Michal Wysoczanski <michal.wysoczanski@intel.com>
2019-05-30 00:03:09 +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
417ea8c06f
Make atomic recovery path truly asynchronous
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-28 11:31:50 +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
f9447fda75
Remove all the trailing whitespaces
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-27 17:00:39 +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
57bc19103d
Remove unused core_io_allocator
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-27 14:19:10 +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
Robert Baldyga
cda536a14a
Remove mpool from OCF utils
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-27 13:04:40 +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
c903d13ad2
Give ocf_ctx get/put semantics
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-23 15:50:10 +02:00
Robert Baldyga
7ff4a349ec
Use enum cache line values when validating config
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-23 13:29:49 +02:00
Robert Baldyga
efa96ef7bd
Add ocf_cache_line_size_none
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-23 13:29:49 +02:00
Michal Rakowski
8c96270ce8
Merge pull request #164 from robertbaldyga/add-open-cores-parameter
...
Add open_cores parameter to ocf_mngt_cache_device_config
2019-05-23 10:44:47 +02:00
Michal Rakowski
4216ff78f1
Merge pull request #163 from robertbaldyga/put-queue-after-deallocating-req
...
Put queue after deallocating request
2019-05-23 10:38:13 +02:00
Robert Baldyga
2cf2a59584
Add open_cores parameter to ocf_mngt_cache_device_config
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-21 18:18:33 +02:00
Robert Baldyga
dbef4b721c
Put queue after deallocating request
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-21 16:09:58 +02:00
Michal Rakowski
76bcac5b45
Merge pull request #160 from robertbaldyga/remove-unnecessary-attach-step
...
Remove unnecessary attach step
2019-05-21 14:02:19 +02:00
Michal Rakowski
9b3bf801e2
Merge pull request #159 from robertbaldyga/req-store-core-handle
...
Store core handle instead of core_id in ocf_request
2019-05-21 13:52:55 +02:00
Robert Baldyga
b551d301ff
ocf_trace: Fix req naming convention
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-21 12:30:29 +02:00
Robert Baldyga
0490dd8bd4
ocf_reqest: Store core handle instead of core_id
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-21 12:30:29 +02:00
Robert Baldyga
5ad5c521df
Disallow ocf_cache_mode_max in io_class config
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-21 09:33:33 +02:00
Robert Baldyga
e8bf299176
Remove unnecessary attach step
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-21 09:17:39 +02:00
Robert Baldyga
f5463d9a16
Set queue for metadata io submitted to cache volume
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-14 14:15:47 +02:00
Robert Baldyga
c263e3e9eb
metadata: Put io before callback invocation
...
This allows for safe volume destruction in callback function.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-05-13 12:12:37 +02:00