LCOV - code coverage report
Current view: top level - lib/ftl/utils - ftl_df.h (source / functions) Hit Total Coverage
Test: ut_cov_unit.info Lines: 6 6 100.0 %
Date: 2024-11-05 10:06:02 Functions: 2 2 100.0 %

          Line data    Source code
       1             : /*   SPDX-License-Identifier: BSD-3-Clause
       2             :  *   Copyright (C) 2022 Intel Corporation.
       3             :  *   All rights reserved.
       4             :  */
       5             : 
       6             : #ifndef FTL_DF_H
       7             : #define FTL_DF_H
       8             : 
       9             : #include "spdk/stdinc.h"
      10             : 
      11             : /* Durable format (df) object is an offset */
      12             : typedef uint64_t ftl_df_obj_id;
      13             : 
      14             : #define FTL_DF_OBJ_ID_INVALID ((ftl_df_obj_id)-1)
      15             : 
      16             : /**
      17             :  * @brief Convert df object ptr to df object id
      18             :  *
      19             :  * @param base          allocation base address
      20             :  * @param df_obj_ptr    df object ptr
      21             :  *
      22             :  * @return df object id
      23             :  */
      24             : static inline ftl_df_obj_id
      25          39 : ftl_df_get_obj_id(void *base, void *df_obj_ptr)
      26             : {
      27          39 :         assert(base <= df_obj_ptr);
      28          39 :         return ((char *)df_obj_ptr - (char *)base);
      29             : }
      30             : 
      31             : /**
      32             :  * @brief Convert df object id to df object ptr
      33             :  *
      34             :  * @param base          allocation base address
      35             :  * @param df_obj_id     df object id
      36             :  *
      37             :  * @return df object ptr
      38             :  */
      39             : static inline void *
      40         121 : ftl_df_get_obj_ptr(void *base, ftl_df_obj_id df_obj_id)
      41             : {
      42         121 :         assert(df_obj_id != FTL_DF_OBJ_ID_INVALID);
      43         121 :         return (void *)((uintptr_t)base + df_obj_id);
      44             : }
      45             : 
      46             : #endif /* FTL_DF_H */

Generated by: LCOV version 1.15