Robert Baldyga
54f75ba492
Introduce ocf_req_forward_volume_*()
...
Those are meant to be used in context where no cache nor queue is
available (typically at very early stage of initialization). We reuse
cache_forward* callback and counter, because they will not be used
in this context anyway.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
07abdf5d8b
composite: Add forward_metadata support
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
5859e432c8
Introduce ocf_forward_metadata()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
17144e5d32
composite: Add forward_write_zeros support
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
cd544e8ee5
Introduce ocf_forward_write_zeros()
...
This is meant to be used in atomic mode to avoid allocating huge buffers
for zeroing data on drive.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
c7580a75d7
Merge pull request #832 from rafalste/fix_debug_macros
...
Fix metadata debug macros
2024-09-20 13:59:34 +02:00
Rafal Stefanowski
c1dc688fb5
Fix metadata debug macros
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2024-09-20 10:09:40 +02:00
Robert Baldyga
4d9bc6eaa1
Merge pull request #829 from mmichal10/d2c-improvement
...
D2C improvement
2024-09-20 07:56:06 +02:00
Robert Baldyga
7d53dd1e41
Handle D2C early and fast
...
Avoid unnecessary code execution in D2C mode.
Avoid multiple req->d2c check in normal I/O path.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 23:58:26 +02:00
Robert Baldyga
df280cf5ec
Merge pull request #828 from mmichal10/io_forward
...
Io forward pt.1
2024-09-19 19:42:49 +02:00
Robert Baldyga
10098ccedd
Remove unused functions
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Robert Baldyga
1ed707361f
Modify engines to use forward API
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Robert Baldyga
e667c10b4a
example: Add forward ops to volume
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Robert Baldyga
c9cd217a08
pyocf: Update to use forward API
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Robert Baldyga
0cd2393aaf
Implement forward ops in composite volume
...
Allow composite volume to forward the io to sub-volumes, splitting it
into several forward operations when needed. This is still done with
zero allocations, making forward even more efficient when combined with
composite volume.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Robert Baldyga
7e73de0d51
volume: Introduce general IO forward mechanism
...
Allow the core volume IOs to be forwarded directly to backend volumes to
avoid unnecessary allocations.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Robert Baldyga
edce2c26a5
Merge pull request #833 from mmichal10/wi-fix
...
Clean dirty requests in WI
2024-09-19 15:34:38 +02:00
Jan Musial
5fadec7e32
Clean dirty requests in WI
...
Signed-off-by: Jan Musial <jan.musial@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 14:58:56 +02:00
Robert Baldyga
ba92aade52
Merge pull request #827 from mmichal10/engine-rd-refacotr
...
engine_rd refactor
2024-09-19 08:53:38 +02:00
Michal Mielewczyk
9c65ec955f
engine_rd: Ignore backfill buffer allocation error
...
It's OK to proceed with a read even if failed to allocate a buffer for backfill
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-18 19:43:56 +02:00
Michal Mielewczyk
a3bccbba6c
engine_rd: Refactor
...
Code beautification only, no functional changes.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-18 19:38:51 +02:00
Robert Baldyga
5531b9cc79
Merge pull request #826 from mmichal10/errors-in-engines
...
Errors in engines
2024-09-18 15:26:21 +02:00
Rafal Stefanowski
194e5a9172
Use cache_error and core_error flags only in WT
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-18 14:04:08 +02:00
Rafal Stefanowski
2761540326
Report cache and core errors separately
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-18 08:01:08 +02:00
Robert Baldyga
b3f5ca1c2f
Merge pull request #816 from mmichal10/zero-offset
...
Support set_data() with offset > 0
2024-09-17 21:00:35 +02:00
Roel Apfelbaum
73387c8f26
Support set_data() with offset > 0 for core
...
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-17 16:26:27 +02:00
Robert Baldyga
eb44557aed
Merge pull request #824 from mmichal10/partial-hit-tests
...
Partial hit tests
2024-09-17 15:55:12 +02:00
Sara Merzel
9a6fe8a49b
pyocf: Tests for partial hits
...
Signed-off-by: Sara Merzel <sara.merzel@huawei.com>
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-17 14:16:23 +02:00
Michal Mielewczyk
97477d484f
pyocf: Helpers for sync IOs for Volume
...
Signed-off-by: Sara Merzel <sara.merzel@huawei.com>
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-17 10:04:02 +02:00
Michal Mielewczyk
f75ad04ec7
pyocf: Remove redundant imports
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-12 14:07:30 +02:00
Robert Baldyga
d2fcd27d7a
Merge pull request #823 from mmichal10/fix-ram-check
...
Revert "Unstubify RAM check in posix evn"
2024-09-12 12:41:30 +02:00
Michal Mielewczyk
60271ebb72
Revert "Unstubify RAM check in posix evn"
...
This reverts commit 77d949bdcc
.
Returning the actual amount of RAM may cause test_start_cache_huge_device to
fail
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-12 12:18:04 +02:00
Robert Baldyga
297f1cb8b0
Merge pull request #822 from mmichal10/fastpath_refactor
...
Refactor resolving fast path
2024-09-12 11:57:11 +02:00
Avi Halaf
bd06b1c9b8
Refactor resolving fast path
...
Signed-off-by: Avi Halaf <avi.halaf@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 16:47:40 +02:00
Robert Baldyga
d24e7bac5d
Merge pull request #820 from mmichal10/discard-fixes
...
Discard fixes
2024-09-10 15:31:53 +02:00
Michal Mielewczyk
ca7f3651e9
discard engine: lookup without updating hotness
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 15:20:51 +02:00
Michal Mielewczyk
0df0eec7f0
Uncouple lookup() and set_hot()
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 15:20:51 +02:00
Rafal Stefanowski
7dfe70f69b
Fix discard step callback refcount
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 15:20:51 +02:00
Robert Baldyga
070b16b31f
Merge pull request #819 from mmichal10/rename-ops
...
Rename engine_ops to engine_flush
2024-09-10 15:19:51 +02:00
Robert Baldyga
1bcd949a89
Rename engine_ops to engine_flush
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 15:16:33 +02:00
Robert Baldyga
fa8c28ca10
Merge pull request #818 from mmichal10/dont-flush-volatile-md
...
cleaner: skip metadata flush in volatile mode
2024-09-10 12:44:38 +02:00
Amir Haroush
7930ef9c21
cleaner: skip metadata flush in volatile mode
...
Signed-off-by: Amir Haroush <amir.haroush@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 12:32:25 +02:00
Robert Baldyga
bf679ecb49
Merge pull request #817 from mmichal10/env_ram_check
...
Unstubify RAM check in posix evn
2024-09-10 12:27:51 +02:00
Michal Mielewczyk
77d949bdcc
Unstubify RAM check in posix evn
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-10 10:24:15 +02:00
Robert Baldyga
ebbf832cdc
Merge pull request #814 from mmichal10/debug-mechanism
...
Debug mechanism
2024-09-09 15:48:45 +02:00
Robert Baldyga
c07e44f036
pyocf: Fix cache settle
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-09 15:28:11 +02:00
Robert Baldyga
3ebdf38aa9
Introduce ocf_dbg_cache_is_settled()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-09 15:28:11 +02:00
Michal Mielewczyk
f4d9f0dcf6
Introduce ocf_refcnt_zeroed()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-09 15:28:09 +02:00
Robert Baldyga
1fbb00de8f
Merge pull request #811 from mmichal10/req-rewrq
...
Request improvements
2024-09-09 14:37:03 +02:00
Robert Baldyga
dc58eeae9b
Introduce d2c request
...
This avoids unnecessary map allocation and initialization of unused fields of
request structure. It also allows to track thier number separately from
the regular requests
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-09 12:45:51 +02:00