Slawomir Jankowski
2741acc069
Create templates for issues
...
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-02-16 11:36:53 +01:00
Robert Baldyga
7f72a9431c
Merge pull request #442 from arutk/cleaner_page_lock
...
Add missing collision page lock in cleaner
2021-01-21 09:25:21 +01:00
Adam Rutkowski
012438c279
Add missing collision page lock in cleaner
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-20 19:28:41 -06:00
Robert Baldyga
fe56d719d7
Merge pull request #440 from robertbaldyga/flush-collision-on-core-remove
...
Flush metadata collision segment on core remove
2021-01-19 15:11:11 +01:00
Robert Baldyga
5a88ab2d61
Flush metadata collision segment on core remove
...
If there is any dirty data on the cache associated with removed core,
we must flush collision metadata after removing core to make metadata
persistent in case of dirty shutdown.
This fixes the problem when recovery procedure erroneously interprets
cache lines that belonged to removed core as valid ones.
This also fixes the problem, when after removing core containing dirty
data another core is added, and then recovery procedure following dirty
shutdown assigns cache lines from removed core to the new one, effectively
leading to data corruption.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-01-19 13:34:28 +01:00
Robert Baldyga
3f7139a814
Merge pull request #439 from mmichal10/remove_core_fine_lock
...
Remove core fine lock
2021-01-15 21:10:14 +01:00
Adam Rutkowski
f206c64ff6
Fine granularity lock in cache_mngt_core_deinit_attached_meta
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-01-15 03:11:46 -05:00
Michal Mielewczyk
6d962b38e9
API for cacheline write trylock
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-01-15 02:10:42 -05:00
Adam Rutkowski
bd20d6119b
External linkage for function to sparse single cline
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-15 02:10:42 -05:00
Adam Rutkowski
93bda499c7
Add functions to lock specific hash bucket
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-12 15:42:21 -05:00
Robert Baldyga
fd88c2c3a4
Merge pull request #436 from mmichal10/metadata-assert
...
Metadata assert
2021-01-08 10:15:08 +01:00
Robert Baldyga
eff0047d6f
Merge pull request #434 from robertbaldyga/dont-modify-list-read-lock
...
seq-cutoff: Don't modify node list under read lock
2021-01-08 10:02:26 +01:00
Michal Mielewczyk
fcef130919
Bug on metadata access error
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-01-07 18:10:44 -05:00
Michal Mielewczyk
d0225ef1cb
Prevent uint32_t overflow
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-01-07 02:45:05 -05:00
Robert Baldyga
ea1fc7a6d4
seq-cutoff: Don't modify node list under read lock
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-01-05 19:46:37 +01:00
Robert Baldyga
dd508c595f
Merge pull request #430 from rafalste/fix_attach_load_paths
...
Create separate pipelines and paths for cache attach/load scenarios
2020-12-23 16:51:37 +01:00
Robert Baldyga
69e388a10f
Merge pull request #372 from arutk/wo_test_enhancements
...
Extend WO engine functional tests
2020-12-23 16:51:16 +01:00
Rafal Stefanowski
57d4aaf7c9
Return error status from ocf_freelist_init
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-12-23 16:43:46 +01:00
Rafal Stefanowski
d3b61e474c
Remove init_mode and use metadata.is_volatile instead
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-12-23 16:31:55 +01:00
Rafal Stefanowski
88b97df16d
Fix pipeline attach/load paths
...
Create separate pipelines for cache attach and load scenarios.
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-12-23 16:31:49 +01:00
Robert Baldyga
efc8786ed3
Merge pull request #432 from robertbaldyga/seq-cutoff-detached-core
...
Initialize sequential cutoff for detached cores
2020-12-23 14:24:24 +01:00
Robert Baldyga
6270d917f8
Initialize sequential cutoff for detached cores
...
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-12-23 14:00:54 +01:00
Rafal Stefanowski
4c42d62f97
Add a newline escape in 'invalid checksum' messages
...
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-12-22 16:34:44 +01:00
Robert Baldyga
08af1192d4
Merge pull request #431 from arutk/fix_part_init
...
Add missing part->id initialization
2020-12-22 15:32:10 +01:00
Adam Rutkowski
1b8bfb36f5
Add missing part->id initialization
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-12-22 11:52:20 +01:00
Robert Baldyga
7f60d73511
Merge pull request #413 from mmichal10/occ-per-ioclass
...
Occupancy per ioclass
2020-12-21 23:43:54 +01:00
Robert Baldyga
0964e0e9df
Merge pull request #422 from arutk/light_meta
...
reduce metadata interface overhead
2020-12-21 14:34:37 +01:00
Michal Mielewczyk
2206b2fdef
pyocf: cache attach test
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
5c2a5c5e79
pyocf: add cache detach api
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
93318696cd
pyocf: ioclass api
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
0dc8b5811c
Store min and max ioclass size as percentage val
...
Min and max values, keept as an explicit number of cachelines, are tightly
coupled with particular cache. This might lead to errors and mismatches after
reattaching cache of different size.
To prevent those errors, min and max should be calculated dynamically.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
bcfc821068
Don't calc free cachelines in per-ioclass stats
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
76148de310
Unit tests for mapping
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
60680b15b2
Accessors for req->info.mapping_error
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
9e11a88f2e
Occupancy per ioclass
...
Respect occpuancy limit set single ioclass
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
418303eee8
UT for occupancy per ioclass
utils
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:23:34 -05:00
Michal Mielewczyk
05f3c22dad
Occupancy per ioclass utilities
...
Functions to check space availability and to manage cachelines reservation
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:18:47 -05:00
Michal Mielewczyk
600bd1d859
Access partition's metadata counters via functions
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
9d80882b00
Remove re_part
field from struct ocf_req_info
...
Since the request carries an explicit information about number of the
cacheliens to be reparted, no need of keeping the boolean information if some
of the request's cachelines are assigned to a wrong partition
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
e26ca30399
Track explicit number of cachelines to be reparted
...
Instead of redunant calculating number of cachlines to be reparted, keep this
information in request's info
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
4329e617cf
env: print format for 64 bits signed int
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
6ca5779057
Update struct ocf_io_class_info
docs
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
4f228317a1
Update docs for space_managment_evict_do()
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
21e98a6dbc
Evict request's target partition in regrular order
...
Instead of evicting target partition as the last one, respect eviction
priorities
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
e999de7232
Don't roundup when evicting single part
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:25 -05:00
Michal Mielewczyk
718dc743c8
Enable particular ioclass eviction
...
If partition's occupancy limit is reached, cachelines should be evicted from
request's target partition.
Information whether particular partition eviction should be triggered is
carried as a flag by request which triggered eviction.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 08:00:23 -05:00
Michal Mielewczyk
e9d7290078
Extend ioclass management logging
...
When setting ioclass, print info about it's max size
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 06:04:16 -05:00
Michal Mielewczyk
c643a41977
Prevent adding ioclass with the same id twice
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 06:04:16 -05:00
Michal Rakowski
ac2effb83d
Fix whitespaces
...
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-21 06:04:16 -05:00
Adam Rutkowski
822cd7c45a
Introduce metadata superblock & segment structures
...
Refactoring metadata superblock and segment ops code
to make it less tightly coupled.
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-12-20 16:35:53 +01:00