Robert Baldyga
99af7ee9b5
Merge pull request #1642 from robertbaldyga/xfs-ioclass-fix
...
Fix io classification for XFS
2025-04-10 09:02:18 +02:00
Michal Mielewczyk
f46de38db0
configure: add preemption_model_*() functions
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-04-09 10:49:31 +02:00
Robert Baldyga
ceb208eb78
Fix io classification for XFS
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2025-04-04 19:46:12 +02:00
Robert Baldyga
72ae9b8161
Allocate bdev suitable for submit_bio()
...
Starting from kernel 6.14, submit_bio() is supported only for non-mq bdevs.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2025-04-02 12:38:27 +02:00
Robert Baldyga
c4a1923215
exp_obj: Add missing error handling
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2025-04-02 12:37:08 +02:00
Robert Baldyga
6aac52ed22
Support kernel 6.14
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2025-03-27 19:57:10 +01:00
Michal Mielewczyk
b1f61580fc
Disable preemption when accessing current cpu id
...
Currently Open CAS doesn't support kernels with involuntary preemption
anyways and once we add the support, we can get rid of this workaround
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-26 07:57:53 +01:00
Michal Mielewczyk
0f23ae6950
Makefile: Error handling for failed modprobe
...
Print an additional error message and remove the installed kernel module
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-19 12:21:57 +01:00
Michal Mielewczyk
aa660ca0a5
Implement involuntary preemption check
...
Prevent loading the kernel module if the kernel can be involuntarily
preempted
CAS will work if the kernel has been compiled with either
CONFIG_PREEMPT_NONE, CONFIG_PREEMPT_VOLUNTARY, or CONFIG_PREEMPT_DYNAMIC.
If the dynamic configuration is enabled, the kernel must be booted with
preempt=none or preempt=voluntary.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-19 12:21:57 +01:00
Daniel Madej
df813d9978
New IO class rule io_direction
...
Signed-off-by: Daniel Madej <daniel.madej@huawei.com>
2025-03-06 09:08:19 +01:00
Robert Baldyga
372a29d562
Merge pull request #1549 from robertbaldyga/kernel-6.11
...
Support kernel 6.13
2025-02-28 16:26:19 +01:00
Robert Baldyga
dd20fcbc8e
Merge pull request #1590 from robertbaldyga/enable-attach-detach
...
Revert "Disable cache attach and detach"
2025-02-27 15:50:07 +01:00
Jan Musial
27eed48976
Per-cpu reference counters
...
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
Signed-off-by: Jan Musial <jan.musial@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Ian Levine <ian.levine@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-02-25 16:21:02 +01:00
Jan Musial
4f43829e91
Implement env_atomic64_dec_return
...
Signed-off-by: Jan Musial <jan.musial@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-02-25 16:19:21 +01:00
Rafal Stefanowski
7ee78ac51e
Kernel 6.13: Add setting queue limits of exported object
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2025-02-05 17:29:45 +01:00
Rafal Stefanowski
dbaeb21cb3
Kernel 6.13: Introduce cas_queue_limits_is_misaligned()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2025-02-05 17:29:45 +01:00
Rafal Stefanowski
6a275773ce
Kernel 6.13: Introduce cas_queue_max_discard_sectors()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2025-02-05 17:29:45 +01:00
Rafal Stefanowski
e5607fe9dd
Kernel 6.13: Introduce cas_queue_set_nonrot()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2025-02-05 17:29:45 +01:00
Rafal Stefanowski
14f375f135
Kernel 6.13: Expand debug macros
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2025-02-05 17:29:45 +01:00
Robert Baldyga
75038692cd
Revert "Disable cache attach and detach"
...
This reverts commit f34328adf2
.
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-11-27 13:41:00 +01:00
Robert Baldyga
b6f604d4a9
Introduce exp_obj serial
...
This is meant to be used by lvm2 to recognize which one of the stacked
devices should be used (be it backend device, or one of the bottom levels
in multi-level cache configuration).
Signed-off-by: Robert Baldyga <robert.baldyga@open-cas.com>
2024-10-19 21:53:43 +02:00
Robert Baldyga
c889254acd
Pass holder properly to cas_bdev_release()
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-10-07 17:14:38 +02:00
Robert Baldyga
8f41ce7ad8
Submit flush as a WRITE bio
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-10-07 13:42:34 +02:00
Robert Baldyga
7ce5b7e68f
Merge pull request #1531 from mmichal10/fix-make-req-type
...
configure framework: detect make_req_fn type
2024-10-02 10:33:27 +02:00
Michal Mielewczyk
f34328adf2
Disable cache attach and detach
...
The feature is disable due to a possible data corruption which may occur when
attaching a new caching device. Once the problem is resolved this commit should
be reverted
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-26 17:02:50 +02:00
Michal Mielewczyk
cefa6ab121
Add missing volume_destroy() in attach
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-26 17:02:50 +02:00
Michal Mielewczyk
8fbbf31734
configure framework: detect make_req_fn type
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-25 15:59:21 +02:00
Robert Baldyga
4bb4b914cb
Remove unneeded ifdefs
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-20 18:03:06 +02:00
Robert Baldyga
1e80f2d0c2
Update after removing struct ocf_io
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-13 12:38:26 +02:00
Robert Baldyga
5820e17e21
Drop support for submit_* ops
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-13 12:38:26 +02:00
Robert Baldyga
bc7710fb7d
Provide forward ops in block volume implementation
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-13 12:36:10 +02:00
Michal Mielewczyk
e7d7064341
Fix checking user param
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-11 11:04:20 +02:00
Robert Baldyga
ded760a760
Fix debug macros
...
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:37 +02:00
Roel Apfelbaum
6367a66a68
Fix comment referring to old name of CAS control device
...
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:37 +02:00
Michal Mielewczyk
72026cea63
Add missing ocf_volume_destroy() on cache init
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:37 +02:00
Michal Mielewczyk
6a409a0064
Set mngt queue to null if couldn't start thread
...
This prevents attempt to deinitialize the queue for the second time in
the start rollback
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:37 +02:00
Michal Mielewczyk
72594436ce
Don't access cache priv before locking cache
...
Cache priv may be freed by concurrent stop.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:37 +02:00
Michal Mielewczyk
79a73fded2
ctx: Remove unused zalloc ops
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:37 +02:00
Ian Levine
c9f301249e
Check memory parameters before copying to user space
...
Signed-off-by: Ian Levine <ian.levine@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 15:08:16 +02:00
Michael Lyulko
ef22115539
Change compiler flags from -O2 to -Ofast
...
Signed-off-by: Michael Lyulko <michael.lyulko@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 14:36:43 +02:00
Toby Roth
988ac5f645
Do not submit IO in complete flush
...
Signed-off-by: Toby Roth <toby.roth@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 14:36:43 +02:00
Jan Musial
ab81ac667b
Remove unused fields
...
Signed-off-by: Jan Musial <jan.musial@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 14:36:43 +02:00
Gal Hammer
b9110635c1
cas_cache: fix "blk_update_request: operation not supported" error
...
A write request with the REQ_RAHEAD flag enabled cause the nvme driver
to send a write command with access frequency value that is reserved
(at least on specification version 1.4c). NVME devices might fail this
write command with an unsupported error. So we now clear the request's
flag based on its direction.
Signed-off-by: Gal Hammer <gal.hammer@huawei.com>
Signed-off-by: Shai Fultheim <shai.fultheim@huawei.com>
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-09-10 14:36:43 +02:00
Michal Mielewczyk
16690e1eab
Enable cache detach
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Jan Musial <jan.musial@huawei.com>
2024-09-09 16:30:05 +02:00
Michal Mielewczyk
af8c75b20a
Enable cache attach
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2024-09-09 16:29:21 +02:00
Michal Mielewczyk
8724c29413
Disable changing cache params for detached cache
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-09 15:57:35 +02:00
Michal Mielewczyk
bb8fc64ed5
Enable adding core to detached cache instance
...
Instead of trying to access properties of potenially unavaliable cache device
use properties saved in cache priv
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-09 15:57:35 +02:00
Michal Mielewczyk
cef13315d0
Compare properties of a new cache device during cache attach
...
New cache device must have all the same properties then the previously
attached one.
Keeping cache properties in cache priv also allows to add new cores to
detached cache instance.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@huawei.com>
2024-09-09 15:57:35 +02:00
Michal Mielewczyk
e0ef8c1b8d
New error codes
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-09 15:57:35 +02:00
Michal Mielewczyk
853e8f9357
configure: refactor cas_copy_queue_limits()
...
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-09 15:57:35 +02:00