Commit Graph

106 Commits

Author SHA1 Message Date
Adam Rutkowski
7aa883dbd3 OCF update (removed configurable eviction policy)
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-06-21 22:56:51 +02:00
Michal Mielewczyk
4e680bb50a Reorganize remove-inacitve command
Don't remove inactive core if it has dirt cache lines assigned unless `force`
flag is specified.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-04-12 13:48:28 +02:00
Michal Mielewczyk
083d6fe93e Clean-up 'remove-core' command
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-04-09 19:57:07 +02:00
Slawomir Jankowski
6ea3dcbd65 Allow to add special deviced as cores to the cache
Add below devices to whitelist:
* CAS device partitions - fix,
* RAM devices - new,
* null block devices - new.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-04-08 21:59:33 +02:00
Adam Rutkowski
048f25379b Check dirty status in case of metadata mismatch
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-04-06 15:37:44 -05:00
Slawomir Jankowski
2514f5fa5b Add "remove inactive" command to casadm
Add `remove_inactive_core` function to casadm's code
to handle `remove inactive` command.
Print messages based on errors returned when command fails.
Add documentation comment to new function.
Add CLI part of introduced command.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-03-10 14:39:07 +01:00
Slawomir Jankowski
2bf6e42dea Print separate messages for different "remove core" return codes
Change extended error message for `KCAS_ERR_REMOVED_DIRTY`.
Print informative messages when `remove core` command fails.
Make separate error messages for detaching.
Update help printouts.
Update documentation comments.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-03-10 14:26:09 +01:00
Michal Mielewczyk
ffaaaa0a34 casadm: don't cast a float to an int explicitly
If an underflowed float number was casted to an int explicitly, it's value was
rounded to a lower value.

Using `round()` function ensures that the number will be always rounded to a
nearest integer.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-01-29 09:25:16 -05:00
Adam Rutkowski
4c98949cac Add force option to zero-metadata
Force option is used to enforce metadata erasure despite
dirty data, metadata mistmatch and/or dirty shutdown.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 15:50:17 -06:00
Adam Rutkowski
68b68db9c0 Zero metadata if on-disk version differs from current
Kernel adapter now returns is_cache_device=1 and newly added
metadata_compatible=0 in case of metadata detected with
differing version (instead of is_cache_device = 0).

This allows zero-superblock command to recognize old
cache instance and clear it.

casadm --script --check-cache-device still returns 'Is cache'='no'
in this case, as this layer only cares about metadata in current
version to be able to detect dirty datas tatus.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 14:47:54 -06:00
Robert Baldyga
63eb23ba40
Merge pull request #648 from rafalste/update_copyright
Update copyright statements (2021)
2021-01-21 13:27:51 +01:00
Adam Rutkowski
2b739d1165 Check exclusive device access before probing metadata
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 14:03:36 -06:00
Adam Rutkowski
5f65d93a36 Replace cache started check with exclusive open in zero superblock.
This check covers the previous case (cache started) as well as
other potential incorrect usages of the command. Also now
the check is made exactly at the moment of opening the
device to write to.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 14:03:36 -06:00
Adam Rutkowski
1fcb175fee Fix probing cache device in casadm
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 14:03:36 -06:00
Adam Rutkowski
1fb5fd9662 Verify whether input device path is actually a block device
This applies to add/momove core, start/stop cache, zero superblock
commands.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 14:03:36 -06:00
Slawomir Jankowski
5f5c150c30 Add comment about calling only after normalizing path
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-01-21 14:03:36 -06:00
Slawomir Jankowski
636e083e22 Remove unneccesary variable
Remove unused `buff` from `print_slow_atomic_cache_start_info()`

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-01-21 14:03:36 -06:00
Slawomir Jankowski
035ed3e7f9 Fix listing caches with path outside /dev/disk/by-id
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2021-01-21 14:03:26 -06:00
Rafal Stefanowski
43f43068ad Update copyright statements (2021)
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2021-01-21 13:15:38 +01:00
Slawomir Jankowski
3df6305254 Change strnlen to sizeof in set_device_path()
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-01-20 14:14:29 +01:00
Robert Baldyga
cbc1de7a37
Merge pull request #614 from Ostrokrzew/message
Move message about by-id path higher
2021-01-08 12:25:36 +01:00
Slawomir Jankowski
fb8fb63f06 Add path sanitizing
to `print_slow_atomic_cache_start_info` after removing check from lower
function `_check_cache_device`.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-01-08 11:45:52 +01:00
Michal Mielewczyk
92ab19999e casadm: prevent acccess to uninitialized variables
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2021-01-05 09:54:17 -05:00
Slawomir Jankowski
be87b59303 Move message about by-id path higher
Not every usage of `set_device_path()` needs to print message.
Sometimes it's internal operation and can contain misleading info.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2021-01-05 14:40:35 +01:00
Adam Rutkowski
6d1af42478 More meaningful error messages around by-id path
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-12-31 12:24:03 +01:00
Robert Baldyga
309b674fd8
Merge pull request #535 from Ostrokrzew/by-id
Disallow to use other than by-id path to core or cache device
2020-12-23 14:38:07 +01:00
Robert Baldyga
2753bad018
Merge pull request #568 from mmichal10/occupancy-per-ioclass
Occupancy per ioclass
2020-12-23 14:36:02 +01:00
Michal Mielewczyk
c93d1f73ef casadm: occupancy per ioclass
Enable new ioclass config format with float allocation values

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-12-23 08:11:19 -05:00
Slawomir Jankowski
0f331cb650 casadm: Add option to print full /dev/by-id link
User can check path in runtime to use the same in config.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-22 16:29:06 +01:00
Slawomir Jankowski
10e5e017c1 Reject path which isn't by-id link
Check if path passed to core adding or cache starting is by-id link
otherwise do not allow to use it except it is exported object's path.
Do not resolve device's by-id path during core addition or cache starting.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-22 16:29:05 +01:00
Slawomir Jankowski
28b2e0610d Compare whole exported object path during core removal
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-17 17:38:19 +01:00
Robert Baldyga
90e588403e Blacklist /dev/disk/by-id/md-name* symlinks
This fixes startup bug when core was added to core pool by md-name*
symlink, but cache metadata contained md-uuid* path, which led to
incomplete configuration

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-10-05 15:38:21 +02:00
Robert Baldyga
bba3cbd9d8 Remove noop line causing compilation warning
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-09-17 09:46:44 +02:00
Slawomir Jankowski
dffadd5530 Fix previous fix
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-08-26 15:16:40 +02:00
Robert Baldyga
ecebb52b46
Merge pull request #505 from Ostrokrzew/fix
Few fixes after recent changes
2020-08-26 10:59:53 +02:00
Robert Baldyga
9283601d84
Merge pull request #500 from imjfckm/fix-core-add-message
Fix message when CAS can't open exclusively inactive core
2020-08-21 10:40:49 +02:00
Slawomir Jankowski
0d3b37b580 Fix notification about NVME device
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-08-19 15:56:12 +02:00
Jan Musial
b3fed25153 Fix message when CAS can't open exclusively inactive core
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-08-12 11:23:56 +02:00
Michal Rakowski
1cd1db2b45 Fully remove format nvme command
Since there is no kernel-kernel api available to communicate
with nvme driver it is more convenient to use some nvme-dedicated
software (e.g. nvme-cli) to manage nvme devices.
It is even not possible to format nvme device with CAS using current
implementation on newest kernels.

Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-08-11 06:10:31 -04:00
Slawomir Jankowski
a9a85fb01f Update use of *run_ioctl_interruptible* after changes
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-06-25 11:18:02 +02:00
Slawomir Jankowski
fe704f83cf Introduce zero-metadata command
Add function *zero_md* in *cas_lib* to handle
new command for zeroing metadata.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-05-25 10:54:53 +02:00
Robert Baldyga
1e25420f86
Merge pull request #404 from rafalste/copyright_update
Update copyright statements
2020-05-19 11:25:11 +02:00
Michal Mielewczyk
3b62e40a2e Purge core command
Purge invalidates all cache lines which belongs to given core. It is very
usefull feature for tests.

Calling purge is possbile with casadm `--script` swtich.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-05-12 11:32:01 -04:00
Michal Mielewczyk
d24288a9b1 Purge cache command
Purge invalidates all cache lines. It is very usefull feature for tests.

Calling purge is possbile with casadm `--script` swtich.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-05-12 11:32:01 -04:00
Rafal Stefanowski
44b4020cc1 Update copyright statements
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-05-04 16:47:38 +02:00
Slawomir_Jankowski
d4a419dc75 Typo fix
Fix missing space in phrase.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-11-26 16:49:45 +01:00
Adam Rutkowski
1b31aed691 Remove reference to flush progress in casadm -L
The functionality of displaying flush progress in caches list
was removed. Updating casadm user message to reflect this.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-23 13:31:38 -04:00
Robert Bałdyga
8f45549cc7
Merge pull request #107 from robertbaldyga/cleanup-cas-version
Cleanup cas version
2019-09-19 13:45:17 +02:00
Robert Baldyga
19bc5da2cf Cleanup CAS_VERSION
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-09-19 12:43:34 +02:00
Jan Musial
fd24803b74 Handle promotion policy selection in casadm
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-19 08:38:35 +02:00
Michal Mielewczyk
39a3d04c93 Handle separate functons for retrieving core stats and info.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-16 09:24:14 -04:00
Michal Mielewczyk
bda0eb41a9 Rename KCAS_IOCTL_PARTITION_STATS with KCAS_IOCTL_PARTITION_INFO.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-11 07:10:13 -04:00
Robert Baldyga
f038223979 Use name based OCF management API
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-08-16 14:08:34 +02:00
Adam Rutkowski
ffa1f4b067 Extend CAS interface with Write-only cache mode
Write-only (WO) cache mode is similar to Write-back (WB), 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.

Write-only cache mode is behaving similarly to Write-back with
respect to flushing dirty data. For example it is required to
explicitly enable/disable flushing when changing cache mode
from WO to something other than WB.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-13 15:54:51 -04:00
Michal Mielewczyk
9ea42084b3 Prevent cache mode to be truncated in case of 'Unknown' mode.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-04-11 08:50:12 -04:00
Robert Baldyga
94e8ca09e0 Initial commit
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-03-29 08:45:50 +01:00