open-cas-linux/modules/cas_cache
Michal Mielewczyk 232f13a8a4 Allow to interrupt cache init, load and stop.
When device used as cache had a big size, it took a lot of time to initialize.
If user would interrupt waiting, asyc OCF init procedure would continue, but
after finish, there was nobody to perfrom kernel part of start nor error
handling.

Now error handling and kernel part of start procedure are moved to completion.
If user will interrupt waiting at any point, newly started cache instance will
be stopped.

Since cache init and load vary only with check for old metadata and initializing
exported objects, they are now merged into one function.

Async cache stop is part of this commit because it was needed for rollback path.

Load, init and stop have common context, because in case of non interrupted
attach CAS needs to wait for rollback to be completed. Common context makes
passing `struct completion` easier between load, init and stop.

This commit is part of patch that will allow to interrupt waiting for OCF
operations.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-01-02 18:34:30 -05:00
..
utils Use vmalloc instead of kmalloc in mem pools 2019-10-23 16:04:18 -04:00
volume atomic: use proper step_size in sub io allocation 2019-12-23 11:11:08 +01:00
.gitignore Initial commit 2019-03-29 08:45:50 +01:00
cas_cache.h OCF update 2019-10-01 10:32:03 +02:00
classifier_defs.h Introducing a new IO class caching rule - file name prefix 2019-12-27 14:08:32 +01:00
classifier.c Introducing a new IO class caching rule - file name prefix 2019-12-27 14:08:32 +01:00
classifier.h Initial commit 2019-03-29 08:45:50 +01:00
context.c Relax allocations requirements 2019-10-23 16:04:27 -04:00
context.h Use new functions for creating and destroying ocf_ctx 2019-05-24 18:24:51 +02:00
control.c Initial commit 2019-03-29 08:45:50 +01:00
control.h Initial commit 2019-03-29 08:45:50 +01:00
layer_cache_management.c Allow to interrupt cache init, load and stop. 2020-01-02 18:34:30 -05:00
layer_cache_management.h Adapt to new OCF PP param set/get API. 2019-10-01 06:54:32 -04:00
layer_upgrade.c Adapt to new OCF PP param set/get API. 2019-10-01 06:54:32 -04:00
layer_upgrade.h Initial commit 2019-03-29 08:45:50 +01:00
linux_kernel_version.h Add blk-mq.h include to linux_kernel_version.h 2019-09-26 16:16:27 +02:00
main.c Fix legacy error messages. 2020-01-02 09:22:13 -05:00
Makefile Initial commit 2019-03-29 08:45:50 +01:00
ocf_env_headers.h Initial commit 2019-03-29 08:45:50 +01:00
ocf_env.c Relax allocations requirements 2019-10-23 16:04:27 -04:00
ocf_env.h Relax allocations requirements 2019-10-23 16:04:27 -04:00
service_ui_ioctl.c OCF update 2019-10-01 10:32:03 +02:00
service_ui_ioctl.h Initial commit 2019-03-29 08:45:50 +01:00
threads.c Free thread memory after it is stopped. 2020-01-02 09:22:13 -05:00
threads.h Added possibility to disable cleaner thread. 2019-05-10 09:47:53 -04:00