Merge pull request #793 from robertbaldyga/kernel-6.8

Minor fixes to clean compile with newer Linux kernels
This commit is contained in:
Robert Baldyga 2024-05-14 08:11:30 +02:00 committed by GitHub
commit 7c8ac29ab9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 65 additions and 54 deletions

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2021 Intel Corporation * Copyright(c) 2012-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -111,23 +112,6 @@ void ocf_req_unlock_rd(struct ocf_alock *c,
void ocf_req_unlock(struct ocf_alock *c, void ocf_req_unlock(struct ocf_alock *c,
struct ocf_request *req); struct ocf_request *req);
/**
* @Check if cache line is used.
*
* Cache line is used when:
* 1. It is locked for write or read access
* or
* 2. There is set locked bit in metadata
*
* @param cache - OCF cache instance
* @param line - Cache line to be unlocked
*
* @retval true - cache line is used
* @retval false - cache line is not used
*/
bool ocf_cache_line_is_used(struct ocf_alock *c,
ocf_cache_line_t line);
/** /**
* @brief Check if for specified cache line there are waiters * @brief Check if for specified cache line there are waiters
* on the waiting list * on the waiting list

View File

@ -5,6 +5,7 @@
*/ */
#include "ocf_concurrency.h" #include "ocf_concurrency.h"
#include "ocf_pio_concurrency.h"
#include "../metadata/metadata_internal.h" #include "../metadata/metadata_internal.h"
#include "../metadata/metadata_io.h" #include "../metadata/metadata_io.h"
#include "../ocf_priv.h" #include "../ocf_priv.h"

Binary file not shown.

View File

@ -136,7 +136,7 @@ static void _ocf_discard_step_complete(struct ocf_request *req, int error)
_ocf_discard_finish_step(req); _ocf_discard_finish_step(req);
} }
int _ocf_discard_step_do(struct ocf_request *req) static int _ocf_discard_step_do(struct ocf_request *req)
{ {
struct ocf_cache *cache = req->cache; struct ocf_cache *cache = req->cache;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -16,7 +17,7 @@
#define OCF_ENGINE_DEBUG_IO_NAME "wi" #define OCF_ENGINE_DEBUG_IO_NAME "wi"
#include "engine_debug.h" #include "engine_debug.h"
int _ocf_write_wi_next_pass(struct ocf_request *req) static int _ocf_write_wi_next_pass(struct ocf_request *req)
{ {
ocf_req_unlock_wr(ocf_cache_line_concurrency(req->cache), req); ocf_req_unlock_wr(ocf_cache_line_concurrency(req->cache), req);

View File

@ -1,9 +1,11 @@
/* /*
* Copyright(c) 2019-2022 Intel Corporation * Copyright(c) 2019-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include "ocf/ocf.h" #include "ocf/ocf.h"
#include "engine_wo.h"
#include "../ocf_cache_priv.h" #include "../ocf_cache_priv.h"
#include "cache_engine.h" #include "cache_engine.h"
#include "engine_common.h" #include "engine_common.h"
@ -172,7 +174,7 @@ static void _ocf_read_wo_core_complete(struct ocf_request *req, int error)
ocf_engine_push_req_front(req, true); ocf_engine_push_req_front(req, true);
} }
int ocf_read_wo_do(struct ocf_request *req) static int ocf_read_wo_do(struct ocf_request *req)
{ {
ocf_req_get(req); ocf_req_get(req);

View File

@ -1,11 +1,14 @@
/* /*
* Copyright(c) 2019-2021 Intel Corporation * Copyright(c) 2019-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#ifndef ENGINE_WO_H_ #ifndef ENGINE_WO_H_
#define ENGINE_WO_H_ #define ENGINE_WO_H_
#include "engine_common.h"
int ocf_read_wo(struct ocf_request *req); int ocf_read_wo(struct ocf_request *req);
#endif /* ENGINE_WO_H_ */ #endif /* ENGINE_WO_H_ */

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include "metadata.h" #include "metadata.h"
@ -97,7 +98,7 @@ static void metadata_io_read_i_atomic_step_end(struct ocf_io *io, int error)
metadata_io_read_i_atomic_complete(context, 0); metadata_io_read_i_atomic_complete(context, 0);
} }
int metadata_io_read_i_atomic_step(struct ocf_request *req) static int metadata_io_read_i_atomic_step(struct ocf_request *req)
{ {
struct metadata_io_read_i_atomic_context *context = req->priv; struct metadata_io_read_i_atomic_context *context = req->priv;
ocf_cache_t cache = context->cache; ocf_cache_t cache = context->cache;
@ -257,7 +258,7 @@ static int metadata_io_do(struct ocf_request *req)
return 0; return 0;
} }
void metadata_io_req_finalize(struct metadata_io_request *m_req) static void metadata_io_req_finalize(struct metadata_io_request *m_req)
{ {
struct metadata_io_request_asynch *a_req = m_req->asynch; struct metadata_io_request_asynch *a_req = m_req->asynch;
@ -328,7 +329,7 @@ static void metadata_io_io_end(struct metadata_io_request *m_req, int error)
metadata_io_req_complete(m_req); metadata_io_req_complete(m_req);
} }
void metadata_io_req_end(struct metadata_io_request *m_req) static void metadata_io_req_end(struct metadata_io_request *m_req)
{ {
struct metadata_io_request_asynch *a_req = m_req->asynch; struct metadata_io_request_asynch *a_req = m_req->asynch;
ocf_cache_t cache = m_req->cache; ocf_cache_t cache = m_req->cache;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2021 Intel Corporation * Copyright(c) 2012-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -189,7 +190,7 @@ static uint32_t _raw_ram_checksum(ocf_cache_t cache,
/* /*
* RAM Implementation - Entry page number * RAM Implementation - Entry page number
*/ */
uint32_t _raw_ram_page(struct ocf_metadata_raw *raw, uint32_t entry) static uint32_t _raw_ram_page(struct ocf_metadata_raw *raw, uint32_t entry)
{ {
ENV_BUG_ON(entry >= raw->entries); ENV_BUG_ON(entry >= raw->entries);

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -37,7 +38,7 @@
* Check if page is valid for specified RAW descriptor * Check if page is valid for specified RAW descriptor
*/ */
uint32_t raw_dynamic_segment_size_on_ssd(struct ocf_metadata_raw *raw) static uint32_t raw_dynamic_segment_size_on_ssd(struct ocf_metadata_raw *raw)
{ {
const size_t alignment = 128 * KiB / PAGE_SIZE; const size_t alignment = 128 * KiB / PAGE_SIZE;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2020-2021 Intel Corporation * Copyright(c) 2020-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -16,6 +17,14 @@ struct ocf_metadata_segment
struct ocf_metadata_segment *superblock; struct ocf_metadata_segment *superblock;
}; };
int ocf_metadata_segment_init_in_place(
struct ocf_metadata_segment *segment,
struct ocf_cache *cache,
struct ocf_metadata_raw *raw,
ocf_flush_page_synch_t lock_page_pfn,
ocf_flush_page_synch_t unlock_page_pfn,
struct ocf_metadata_segment *superblock);
int ocf_metadata_segment_init( int ocf_metadata_segment_init(
struct ocf_metadata_segment **self, struct ocf_metadata_segment **self,
struct ocf_cache *cache, struct ocf_cache *cache,

View File

@ -1,11 +1,13 @@
/* /*
* Copyright(c) 2020-2022 Intel Corporation * Copyright(c) 2020-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include "metadata.h" #include "metadata.h"
#include "metadata_core.h" #include "metadata_core.h"
#include "metadata_internal.h" #include "metadata_internal.h"
#include "metadata_segment.h"
#include "metadata_segment_id.h" #include "metadata_segment_id.h"
#include "metadata_superblock.h" #include "metadata_superblock.h"
#include "../ocf_priv.h" #include "../ocf_priv.h"
@ -26,14 +28,6 @@
#define OCF_DEBUG_PARAM(cache, format, ...) #define OCF_DEBUG_PARAM(cache, format, ...)
#endif #endif
int ocf_metadata_segment_init_in_place(
struct ocf_metadata_segment *segment,
struct ocf_cache *cache,
struct ocf_metadata_raw *raw,
ocf_flush_page_synch_t lock_page_pfn,
ocf_flush_page_synch_t unlock_page_pfn,
struct ocf_metadata_segment *superblock);
/** /**
* @brief Super Block - Set Shutdown Status * @brief Super Block - Set Shutdown Status
* *

View File

@ -1,6 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2023 Huawei Technologies * Copyright(c) 2023-2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -767,7 +767,7 @@ static void _ocf_mngt_load_init_structures(ocf_pipeline_t pipeline,
_ocf_mngt_init_metadata_complete, context, false); _ocf_mngt_init_metadata_complete, context, false);
} }
void _ocf_mngt_load_metadata_complete(void *priv, int error) static void _ocf_mngt_load_metadata_complete(void *priv, int error)
{ {
struct ocf_cache_attach_context *context = priv; struct ocf_cache_attach_context *context = priv;
ocf_cache_t cache = context->cache; ocf_cache_t cache = context->cache;
@ -1372,7 +1372,7 @@ static void _ocf_mngt_attach_init_services(ocf_pipeline_t pipeline,
_ocf_mngt_cleaning_populate_init_complete, context); _ocf_mngt_cleaning_populate_init_complete, context);
} }
uint64_t _ocf_mngt_calculate_ram_needed(ocf_cache_line_size_t line_size, static uint64_t _ocf_mngt_calculate_ram_needed(ocf_cache_line_size_t line_size,
uint64_t volume_size) uint64_t volume_size)
{ {
uint64_t const_data_size; uint64_t const_data_size;
@ -2849,7 +2849,7 @@ _ocf_mngt_cache_standby_detach_pipeline_properties = {
}, },
}; };
void _ocf_mngt_cache_standby_detach(ocf_cache_t cache, static void _ocf_mngt_cache_standby_detach(ocf_cache_t cache,
ocf_mngt_cache_standby_detach_end_t cmpl, void *priv) ocf_mngt_cache_standby_detach_end_t cmpl, void *priv)
{ {
struct ocf_cache_standby_detach_context *context; struct ocf_cache_standby_detach_context *context;

View File

@ -1,9 +1,11 @@
/* /*
* Copyright(c) 2012-2021 Intel Corporation * Copyright(c) 2012-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include "ocf/ocf.h" #include "ocf/ocf.h"
#include "ocf_mngt_core_pool_priv.h"
#include "ocf_mngt_common.h" #include "ocf_mngt_common.h"
#include "../ocf_priv.h" #include "../ocf_priv.h"
#include "../ocf_core_priv.h" #include "../ocf_core_priv.h"

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -460,7 +461,7 @@ finish:
end(context); end(context);
} }
void _ocf_flush_container_complete(void *ctx) static void _ocf_flush_container_complete(void *ctx)
{ {
struct ocf_mngt_cache_flush_context *context = ctx; struct ocf_mngt_cache_flush_context *context = ctx;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2021 Intel Corporation * Copyright(c) 2012-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -95,17 +96,6 @@ bool ocf_core_is_valid(ocf_cache_t cache, ocf_core_id_t id)
return true; return true;
} }
int ocf_core_get(ocf_cache_t cache, ocf_core_id_t id, ocf_core_t *core)
{
OCF_CHECK_NULL(cache);
if (!ocf_core_is_valid(cache, id))
return -OCF_ERR_CORE_NOT_AVAIL;
*core = &cache->core[id];
return 0;
}
uint32_t ocf_core_get_seq_cutoff_threshold(ocf_core_t core) uint32_t ocf_core_get_seq_cutoff_threshold(ocf_core_t core)
{ {
return env_atomic_read(&core->conf_meta->seq_cutoff_threshold); return env_atomic_read(&core->conf_meta->seq_cutoff_threshold);
@ -265,7 +255,7 @@ static int ocf_core_submit_io_fast(struct ocf_io *io, struct ocf_request *req,
return -OCF_ERR_IO; return -OCF_ERR_IO;
} }
void ocf_core_volume_submit_io(struct ocf_io *io) static void ocf_core_volume_submit_io(struct ocf_io *io)
{ {
struct ocf_request *req; struct ocf_request *req;
ocf_core_t core; ocf_core_t core;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2020-2021 Intel Corporation * Copyright(c) 2020-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -92,7 +93,7 @@ static void ocf_seq_cutoff_base_init(struct ocf_seq_cutoff *base, int nstreams)
} }
} }
void ocf_seq_cutoff_base_deinit(struct ocf_seq_cutoff *base) static void ocf_seq_cutoff_base_deinit(struct ocf_seq_cutoff *base)
{ {
env_rwlock_destroy(&base->lock); env_rwlock_destroy(&base->lock);
} }

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#ifndef OCF_UTILS_ALOCK_H_ #ifndef OCF_UTILS_ALOCK_H_
@ -54,6 +55,23 @@ int ocf_alock_lock_rd(struct ocf_alock *alock,
int ocf_alock_lock_wr(struct ocf_alock *alock, int ocf_alock_lock_wr(struct ocf_alock *alock,
struct ocf_request *req, ocf_req_async_lock_cb cmpl); struct ocf_request *req, ocf_req_async_lock_cb cmpl);
/**
* @Check if cache line is used.
*
* Cache line is used when:
* 1. It is locked for write or read access
* or
* 2. There is set locked bit in metadata
*
* @param cache - OCF cache instance
* @param line - Cache line to be unlocked
*
* @retval true - cache line is used
* @retval false - cache line is not used
*/
bool ocf_cache_line_is_used(struct ocf_alock *c,
ocf_cache_line_t line);
bool ocf_alock_waitlist_is_empty(struct ocf_alock *alock, bool ocf_alock_waitlist_is_empty(struct ocf_alock *alock,
ocf_cache_line_t entry); ocf_cache_line_t entry);

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2019-2021 Intel Corporation * Copyright(c) 2019-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -12,7 +13,7 @@ struct ocf_async_lock_waiter {
ocf_async_lock_end_t cmpl; ocf_async_lock_end_t cmpl;
}; };
void _ocf_async_lock_collect_waiters(ocf_async_lock_t lock, static void _ocf_async_lock_collect_waiters(ocf_async_lock_t lock,
struct list_head *waiters) struct list_head *waiters)
{ {
ocf_async_lock_waiter_t iter, temp; ocf_async_lock_waiter_t iter, temp;
@ -31,7 +32,7 @@ void _ocf_async_lock_collect_waiters(ocf_async_lock_t lock,
} }
} }
void _ocf_async_lock_run_waiters(struct ocf_async_lock *lock, static void _ocf_async_lock_run_waiters(struct ocf_async_lock *lock,
struct list_head *waiters, int status) struct list_head *waiters, int status)
{ {
ocf_async_lock_waiter_t iter, temp; ocf_async_lock_waiter_t iter, temp;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2020-2021 Intel Corporation * Copyright(c) 2020-2021 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -276,7 +277,7 @@ static struct ocf_rb_node *ocf_rb_tree_sibling(struct ocf_rb_node *node)
} }
void ocf_rb_tree_fix_double_black(struct ocf_rb_tree *tree, static void ocf_rb_tree_fix_double_black(struct ocf_rb_tree *tree,
struct ocf_rb_node *node) struct ocf_rb_node *node)
{ {
struct ocf_rb_node *sibling; struct ocf_rb_node *sibling;