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>
This commit is contained in:
Michal Mielewczyk
2021-10-05 15:52:55 +02:00
parent a6989d1881
commit 4ab22ee2dc
9 changed files with 486 additions and 65 deletions

View File

@@ -85,6 +85,11 @@ struct ocf_cache {
struct ocf_refcnt metadata __attribute__((aligned(64)));
} refcnt;
struct {
env_allocator *allocator;
struct ocf_alock *concurrency;
} standby;
struct ocf_core core[OCF_CORE_MAX];
ocf_pipeline_t stop_pipeline;