Adam Rutkowski
d0b00817f3
fix cacheline reset in passive metadata update
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-11-30 19:34:52 +01:00
Michal Mielewczyk
4ab22ee2dc
Maintain runtime struct during failover standby
...
To allow the fastest switching from the passive-standby to active mode, the
runtime metadata must be kept 100% synced with the metadata on the drive and in
the RAM thus recovery is required after each collision section update.
To avoid long-lasting recovering of all the cachelines each time the collision
section is being updated, the passive update procedure recovers only those
which have its MD entries on the updated pages.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-11-19 11:58:09 +01:00
Michal Mielewczyk
048bbedd71
Fix metadata_clear_valid_if_clean()
...
The function should return the cacheline's valid status
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-11-19 11:53:48 +01:00
Michal Mielewczyk
bb0ff67fe9
Metadata clear_dirty_if_invalid()
utility
...
Fix cacheline's metadata if it is dirty and invalid
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-11-19 11:53:48 +01:00
Robert Baldyga
5cbbfdd5ca
Merge pull request #587 from Open-CAS/gcc_11_fix
...
Fix for OCL issue #968 - GCC 11 compilation error
2021-11-08 13:34:52 +01:00
Krzysztof Majzerowicz-Jaszcz
99c54be592
Fix for OCL issue #968 - GCC 11 compilation error
...
GCC 11 static check finds an array size mismatch and prevents OCF from
compiling correctly. This fixes OpenCAS Linux issue #968
Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com>
2021-11-08 11:39:17 +01:00
Adam Rutkowski
8f080295bb
Merge pull request #585 from rafalste/license_change
...
Aplying BSD 3-Clause license to OCF source
2021-10-29 13:16:00 +02:00
Rafal Stefanowski
f22da1cde7
Fix license
...
Change license to BSD-3-Clause
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2021-10-28 13:08:50 +02:00
Rafal Stefanowski
3cc0d07197
License change to be approved by contributors
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2021-10-27 12:48:20 +02:00
Adam Rutkowski
f9fb80b887
Fix conditional valid bit reset
...
Status bits outside provided mask shall be unchanged.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-10-12 22:56:45 +02:00
Robert Baldyga
076b5995ed
Fix metadata_clear_valid_if_clean()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-10 08:12:11 +02:00
Robert Baldyga
7587bec07c
Merge pull request #567 from robertbaldyga/optimize-out-recovery-sector-loop
...
Optimize out looping over cache line sectors in recovery
2021-09-08 13:57:32 +02:00
Michal Mielewczyk
612f68b3c1
Fix metadata io detection in passive mode
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-09-08 13:33:04 +02:00
Robert Baldyga
1a3843ba12
Little coding style fix
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-07 22:54:10 +02:00
Robert Baldyga
65d3e7a41a
Introduce ocf_metadata_clear_valid_if_clean()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-07 22:54:10 +02:00
Robert Baldyga
d7c1404f82
Simplify metadata bit function declarations
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-07 22:54:10 +02:00
Robert Baldyga
12a82d7fb1
Get rid of struct ocf_cache_line_settings
...
Remove struct that contains redundant data.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-07 14:53:46 +02:00
Robert Baldyga
d5bd3fbd78
Free zeroed metadata pages on update in raw_dynamic
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-06 13:49:21 +02:00
Robert Baldyga
9b3a0c968e
Introduce ocf_metadata_passive_update()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-06 13:49:21 +02:00
Robert Baldyga
85e8b414c4
Add ocf_metadata_load_unsafe()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-03 17:22:22 +02:00
Robert Baldyga
c6c6618ad8
Move recovery code from metadata to cache mngt
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-03 17:22:22 +02:00
Robert Baldyga
a2db4d14e8
Move core initialization code from metadata to mngt
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-03 17:22:22 +02:00
Robert Baldyga
9ab4c51dfa
Expose superblock operations as part of internal metadata API
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-03 17:22:22 +02:00
Robert Baldyga
82abcd11e7
Fix documentation of ocf_metadata_raw_rd_access()
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-02 22:38:37 +02:00
Robert Baldyga
387cf1b9a5
Fix debug tracing in metadata
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-09-02 22:38:37 +02:00
Michal Mielewczyk
26194fc536
Use cleaning ops wrapper functions
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-07-27 15:44:18 +02:00
Michal Mielewczyk
6dc29ee85e
Refactor includes
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-07-27 15:44:18 +02:00
Robert Baldyga
f538bbd3ae
Fix argument order in ocf_metadata_set_partition_id() call
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-07-09 21:31:06 +02:00
Robert Baldyga
847f5f1174
Merge pull request #520 from arutk/lru_refactor
...
LRU refactoring
2021-06-21 22:49:08 +02:00
Adam Rutkowski
1e1955b833
lru refactor
...
rearanging lru implementation for easier journaling
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 22:32:57 +02:00
Adam Rutkowski
edf20c133e
Move metadata I/O lock to IO queue context
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 21:39:35 +02:00
Adam Rutkowski
a70608476d
fastpath for metadata update
...
Removing extra request cycle through IO queue in case of successfull
metadata I/O lock.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 20:02:56 +02:00
Kozlowski Mateusz
50ec65fcfd
Fix metadata_io_page_lock_acquired typo
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-21 19:46:35 +02:00
Kozlowski Mateusz
1031139446
OCF: Fix error path for metadata updater
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-21 19:46:34 +02:00
Adam Rutkowski
36107fd528
Initialize partitions during cache start
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
07cbba32f6
remove stale references to eviction
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
33e2beac24
Rename "evp_lru*" functions to "ocf_lru*"
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
b1143374a8
Move eviction files to new locations
...
src/eviction/lru.c -> src/ocf_lru.c
src/eviction/lru.h -> src/ocf_lru.h
src/eviction/lru_structs.h -> src/ocf_lru_structs.h
src/eviction/eviction.c -> src/ocf_space.c
src/eviction/eviction.h -> src/ocf_space.h
.. as well as corresponding UT files.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
... in UT as well
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
7c0f940876
Replace eviction with lru in metadata structs
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
88e04a4204
Remove eviction policy abstraction
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
4f217b91a5
Remove partition list
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:19:08 +02:00
Adam Rutkowski
87f834c793
Move common user and freelist partition data to a new struct
...
New structure ocf_part is added to contain all the data common for both
user partitions and freelist partition: part_runtime and part_id.
ocf_user_part now contains ocf_part structure as well as pointer to
cleaning partition runtime metadata (moved out from part_runtime) and
user partition config (no change here).
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-18 12:07:10 +02:00
Robert Baldyga
73c3e97f43
Merge pull request #509 from Open-CAS/rm-metadata-updater
...
Remove metadata updater
2021-06-17 09:34:18 +02:00
Kozlowski Mateusz
ce316cc67c
Change alock API to include slow/fast lock callbacks
...
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2021-06-16 13:48:35 +02:00
Adam Rutkowski
f589341c9a
remove metadata updater
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 10:25:05 +02:00
Adam Rutkowski
953e0f25d7
replace metadata updater with metadata I/O concurrency
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 10:25:05 +02:00
Adam Rutkowski
06f3c937c3
mio concurrency
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-15 10:25:05 +02:00
Robert Baldyga
6c617fa688
Merge pull request #514 from jfckm/minor-perf
...
Small performance improvements
2021-06-14 13:32:27 +02:00
Adam Rutkowski
d22a3ad0e0
Rename cacheline concurrency struct to alock
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-14 12:15:43 +02:00
Jan Musial
f25d9a8e40
Use new non-zeroing allocator APIs
...
Signed-off-by: Jan Musial <jan.musial@intel.com>
2021-06-10 15:38:44 +02:00