Motr  M0
layout.c File Reference
#include "ut/ut.h"
#include "lib/ub.h"
#include "lib/memory.h"
#include "lib/misc.h"
#include "lib/bitstring.h"
#include "lib/vec.h"
#include "lib/errno.h"
#include "lib/trace.h"
#include "lib/finject.h"
#include "pool/pool.h"
#include "fid/fid.h"
#include "layout/layout.h"
#include "layout/layout_internal.h"
#include "layout/pdclust.h"
#include "layout/linear_enum.h"
#include "ioservice/fid_convert.h"
Include dependency graph for layout.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_LAYOUT
 

Enumerations

enum  {
  DBFLAGS = 0, LIST_ENUM_ID = 0x4C495354, LINEAR_ENUM_ID = 0x4C494E45, ADDITIONAL_BYTES_NONE = 0,
  ADDITIONAL_BYTES_DEFAULT = 2048, INLINE_NOT_APPLICABLE = 0, LESS_THAN_INLINE = 1, EXACT_INLINE = 2,
  MORE_THAN_INLINE = 3, EXISTING_TEST = true, DUPLICATE_TEST = true, FAILURE_TEST = true,
  LAYOUT_DESTROY = true, UNIT_SIZE = 4096
}
 

Functions

static int test_init (void)
 
static int test_fini (void)
 
static void test_domain_init_fini (void)
 
static void test_domain_init_fini_failure (void)
 
static int t_register (struct m0_layout_domain *dom, const struct m0_layout_type *lt)
 
static void t_unregister (struct m0_layout_domain *dom, const struct m0_layout_type *lt)
 
static m0_bcount_t t_max_recsize (struct m0_layout_domain *dom)
 
static void test_type_reg_unreg (void)
 
static int t_enum_register (struct m0_layout_domain *dom, const struct m0_layout_enum_type *et)
 
static void t_enum_unregister (struct m0_layout_domain *dom, const struct m0_layout_enum_type *et)
 
static m0_bcount_t t_enum_max_recsize (void)
 
static void test_etype_reg_unreg (void)
 
static void test_reg_unreg (void)
 
static void test_reg_unreg_failure (void)
 
static struct m0_layoutlist_lookup (uint64_t lid)
 
static int pdclust_l_build (uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, struct m0_layout_enum *le, struct m0_pdclust_layout **pl, bool failure_test)
 
static int pdclust_layout_build (uint32_t enum_id, uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, uint32_t A, uint32_t B, struct m0_pdclust_layout **pl, struct m0_layout_linear_enum **lin_enum, bool failure_test)
 
static void l_verify (struct m0_layout *l, uint64_t lid)
 
static void pdclust_l_verify (struct m0_pdclust_layout *pl, uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed)
 
static void pdclust_layout_verify (uint32_t enum_id, struct m0_layout *l, uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, uint32_t A, uint32_t B)
 
static void NKP_assign_and_pool_init (uint32_t enum_id, uint32_t inline_test, uint32_t list_nr_less, uint32_t list_nr_more, uint32_t linear_nr, uint32_t *N, uint32_t *K, uint32_t *S, uint32_t *P)
 
static int test_build_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test, bool failure_test)
 
static void test_build (void)
 
static void test_build_failure (void)
 
static void buf_build (uint32_t lt_id, struct m0_bufvec_cursor *dcur)
 
static void pdclust_buf_build (uint32_t let_id, uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, struct m0_bufvec_cursor *dcur)
 
static int pdclust_layout_buf_build (uint32_t enum_id, uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, uint32_t A, uint32_t B, struct m0_bufvec_cursor *dcur)
 
static void allocate_area (void **area, m0_bcount_t additional_bytes, m0_bcount_t *num_bytes)
 
static int test_decode_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test, bool failure_test)
 
static void test_decode (void)
 
static void test_decode_failure (void)
 
static void lbuf_verify (struct m0_bufvec_cursor *cur, uint32_t *lt_id)
 
static void pdclust_lbuf_verify (uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, struct m0_bufvec_cursor *cur, uint32_t *let_id)
 
static void pdclust_layout_buf_verify (uint32_t enum_id, uint64_t lid, uint32_t N, uint32_t K, uint32_t S, uint32_t P, struct m0_uint128 *seed, uint32_t A, uint32_t B, struct m0_bufvec_cursor *cur)
 
static int test_encode_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test, bool failure_test)
 
static void test_encode (void)
 
static void test_encode_failure (void)
 
static void lbuf_compare (struct m0_bufvec_cursor *cur1, struct m0_bufvec_cursor *cur2)
 
static void pdclust_lbuf_compare (struct m0_bufvec_cursor *cur1, struct m0_bufvec_cursor *cur2)
 
static void pdclust_layout_buf_compare (uint32_t enum_id, struct m0_bufvec_cursor *cur1, struct m0_bufvec_cursor *cur2)
 
static int test_decode_encode_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test)
 
static void test_decode_encode (void)
 
static void pdclust_layout_compare (uint32_t enum_id, const struct m0_layout *l1, const struct m0_layout *l2, bool l2_ref_elevated)
 
static void pdclust_layout_copy (uint32_t enum_id, const struct m0_layout *l_src, struct m0_layout **l_dest)
 
static void pdclust_layout_copy_delete (uint32_t enum_id, struct m0_layout *l)
 
static int test_encode_decode_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test)
 
static void test_encode_decode (void)
 
static int test_ref_get_put_pdclust (uint32_t enum_id, uint64_t lid)
 
static void test_ref_get_put (void)
 
static void enum_op_verify (uint32_t enum_id, uint64_t lid, uint32_t nr, struct m0_layout *l)
 
static int test_enum_ops_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test)
 
static void test_enum_operations (void)
 
static void test_max_recsize (void)
 
static void pdclust_recsize_verify (uint32_t enum_id, struct m0_layout *l, m0_bcount_t recsize_to_verify)
 
static int test_recsize_pdclust (uint32_t enum_id, uint64_t lid, uint32_t inline_test)
 
static void test_recsize (void)
 
static void ldemo (struct m0_pdclust_instance *pi, const struct m0_pdclust_layout *pl)
 
static int test_pdclust_instance_obj (uint32_t enum_id, uint64_t lid, bool inline_test, bool failure_test)
 
static void test_pdclust_instance (void)
 
static void test_pdclust_instance_failure (void)
 

Variables

static struct m0_layout_domain domain
 
static struct m0_pool pool
 
static int rc
 
struct m0_layout_type m0_pdclust_layout_type
 
struct m0_layout_enum_type m0_linear_enum_type
 
static const struct m0_layout_type_ops test_layout_type_ops
 
struct m0_layout_type test_layout_type
 
static const struct m0_layout_enum_type_ops test_enum_ops
 
struct m0_layout_enum_type test_enum_type
 
struct m0_ut_suite layout_ut
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_LAYOUT

Definition at line 31 of file layout.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DBFLAGS 
LIST_ENUM_ID 
LINEAR_ENUM_ID 
ADDITIONAL_BYTES_NONE 
ADDITIONAL_BYTES_DEFAULT 
INLINE_NOT_APPLICABLE 
LESS_THAN_INLINE 
EXACT_INLINE 
MORE_THAN_INLINE 
EXISTING_TEST 
DUPLICATE_TEST 
FAILURE_TEST 
LAYOUT_DESTROY 
UNIT_SIZE 

Definition at line 53 of file layout.c.

Function Documentation

◆ allocate_area()

static void allocate_area ( void **  area,
m0_bcount_t  additional_bytes,
m0_bcount_t num_bytes 
)
static

Definition at line 978 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buf_build()

static void buf_build ( uint32_t  lt_id,
struct m0_bufvec_cursor dcur 
)
static

Definition at line 873 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enum_op_verify()

static void enum_op_verify ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  nr,
struct m0_layout l 
)
static

Definition at line 2119 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ l_verify()

static void l_verify ( struct m0_layout l,
uint64_t  lid 
)
static

Definition at line 524 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lbuf_compare()

static void lbuf_compare ( struct m0_bufvec_cursor cur1,
struct m0_bufvec_cursor cur2 
)
static

Definition at line 1437 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lbuf_verify()

static void lbuf_verify ( struct m0_bufvec_cursor cur,
uint32_t *  lt_id 
)
static

Definition at line 1189 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ldemo()

static void ldemo ( struct m0_pdclust_instance pi,
const struct m0_pdclust_layout pl 
)
static

Definition at line 2490 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ list_lookup()

static struct m0_layout* list_lookup ( uint64_t  lid)
static

Definition at line 389 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NKP_assign_and_pool_init()

static void NKP_assign_and_pool_init ( uint32_t  enum_id,
uint32_t  inline_test,
uint32_t  list_nr_less,
uint32_t  list_nr_more,
uint32_t  linear_nr,
uint32_t *  N,
uint32_t *  K,
uint32_t *  S,
uint32_t *  P 
)
static
Todo:
This is a workaround to be taken out along with the forthcoming patch for the layout module to use xcode and newer BE, with which the whole layout test suite will anyway be restructured.

Definition at line 604 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_buf_build()

static void pdclust_buf_build ( uint32_t  let_id,
uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
struct m0_bufvec_cursor dcur 
)
static

Definition at line 889 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_l_build()

static int pdclust_l_build ( uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
struct m0_layout_enum le,
struct m0_pdclust_layout **  pl,
bool  failure_test 
)
static

Definition at line 403 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_l_verify()

static void pdclust_l_verify ( struct m0_pdclust_layout pl,
uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed 
)
static

Definition at line 535 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_buf_build()

static int pdclust_layout_buf_build ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
uint32_t  A,
uint32_t  B,
struct m0_bufvec_cursor dcur 
)
static

Definition at line 913 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_buf_compare()

static void pdclust_layout_buf_compare ( uint32_t  enum_id,
struct m0_bufvec_cursor cur1,
struct m0_bufvec_cursor cur2 
)
static

Definition at line 1482 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_buf_verify()

static void pdclust_layout_buf_verify ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
uint32_t  A,
uint32_t  B,
struct m0_bufvec_cursor cur 
)
static

Definition at line 1233 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_build()

static int pdclust_layout_build ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
uint32_t  A,
uint32_t  B,
struct m0_pdclust_layout **  pl,
struct m0_layout_linear_enum **  lin_enum,
bool  failure_test 
)
static

Definition at line 440 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_compare()

static void pdclust_layout_compare ( uint32_t  enum_id,
const struct m0_layout l1,
const struct m0_layout l2,
bool  l2_ref_elevated 
)
static

Definition at line 1710 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_copy()

static void pdclust_layout_copy ( uint32_t  enum_id,
const struct m0_layout l_src,
struct m0_layout **  l_dest 
)
static

Definition at line 1789 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_copy_delete()

static void pdclust_layout_copy_delete ( uint32_t  enum_id,
struct m0_layout l 
)
static

Definition at line 1858 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_layout_verify()

static void pdclust_layout_verify ( uint32_t  enum_id,
struct m0_layout l,
uint64_t  lid,
uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
uint32_t  A,
uint32_t  B 
)
static

Definition at line 554 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_lbuf_compare()

static void pdclust_lbuf_compare ( struct m0_bufvec_cursor cur1,
struct m0_bufvec_cursor cur2 
)
static

Definition at line 1457 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_lbuf_verify()

static void pdclust_lbuf_verify ( uint32_t  N,
uint32_t  K,
uint32_t  S,
uint32_t  P,
struct m0_uint128 seed,
struct m0_bufvec_cursor cur,
uint32_t *  let_id 
)
static

Definition at line 1209 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdclust_recsize_verify()

static void pdclust_recsize_verify ( uint32_t  enum_id,
struct m0_layout l,
m0_bcount_t  recsize_to_verify 
)
static

Definition at line 2362 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ t_enum_max_recsize()

static m0_bcount_t t_enum_max_recsize ( void  )
static

Definition at line 202 of file layout.c.

◆ t_enum_register()

static int t_enum_register ( struct m0_layout_domain dom,
const struct m0_layout_enum_type et 
)
static

Definition at line 191 of file layout.c.

◆ t_enum_unregister()

static void t_enum_unregister ( struct m0_layout_domain dom,
const struct m0_layout_enum_type et 
)
static

Definition at line 197 of file layout.c.

◆ t_max_recsize()

static m0_bcount_t t_max_recsize ( struct m0_layout_domain dom)
static

Definition at line 157 of file layout.c.

◆ t_register()

static int t_register ( struct m0_layout_domain dom,
const struct m0_layout_type lt 
)
static

Definition at line 146 of file layout.c.

◆ t_unregister()

static void t_unregister ( struct m0_layout_domain dom,
const struct m0_layout_type lt 
)
static

Definition at line 152 of file layout.c.

◆ test_build()

static void test_build ( void  )
static

Definition at line 743 of file layout.c.

Here is the call graph for this function:

◆ test_build_failure()

static void test_build_failure ( void  )
static

Definition at line 787 of file layout.c.

Here is the call graph for this function:

◆ test_build_pdclust()

static int test_build_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test,
bool  failure_test 
)
static

Definition at line 685 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_decode()

static void test_decode ( void  )
static

Definition at line 1069 of file layout.c.

Here is the call graph for this function:

◆ test_decode_encode()

static void test_decode_encode ( void  )
static

Definition at line 1648 of file layout.c.

Here is the call graph for this function:

◆ test_decode_encode_pdclust()

static int test_decode_encode_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test 
)
static

Definition at line 1552 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_decode_failure()

static void test_decode_failure ( void  )
static

Definition at line 1113 of file layout.c.

Here is the call graph for this function:

◆ test_decode_pdclust()

static int test_decode_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test,
bool  failure_test 
)
static

Definition at line 991 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_domain_init_fini()

static void test_domain_init_fini ( void  )
static

Definition at line 100 of file layout.c.

Here is the call graph for this function:

◆ test_domain_init_fini_failure()

static void test_domain_init_fini_failure ( void  )
static

Definition at line 128 of file layout.c.

Here is the call graph for this function:

◆ test_encode()

static void test_encode ( void  )
static

Definition at line 1371 of file layout.c.

Here is the call graph for this function:

◆ test_encode_decode()

static void test_encode_decode ( void  )
static

Definition at line 1982 of file layout.c.

Here is the call graph for this function:

◆ test_encode_decode_pdclust()

static int test_encode_decode_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test 
)
static

Definition at line 1889 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_encode_failure()

static void test_encode_failure ( void  )
static

Definition at line 1413 of file layout.c.

Here is the call graph for this function:

◆ test_encode_pdclust()

static int test_encode_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test,
bool  failure_test 
)
static

Definition at line 1299 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_enum_operations()

static void test_enum_operations ( void  )
static

Definition at line 2206 of file layout.c.

Here is the call graph for this function:

◆ test_enum_ops_pdclust()

static int test_enum_ops_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test 
)
static

Definition at line 2164 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_etype_reg_unreg()

static void test_etype_reg_unreg ( void  )
static

Definition at line 219 of file layout.c.

Here is the call graph for this function:

◆ test_fini()

static int test_fini ( void  )
static

Definition at line 92 of file layout.c.

Here is the call graph for this function:

◆ test_init()

static int test_init ( void  )
static

Definition at line 74 of file layout.c.

Here is the call graph for this function:

◆ test_max_recsize()

static void test_max_recsize ( void  )
static

Definition at line 2250 of file layout.c.

Here is the call graph for this function:

◆ test_pdclust_instance()

static void test_pdclust_instance ( void  )
static

Definition at line 2611 of file layout.c.

Here is the call graph for this function:

◆ test_pdclust_instance_failure()

static void test_pdclust_instance_failure ( void  )
static

Definition at line 2656 of file layout.c.

Here is the call graph for this function:

◆ test_pdclust_instance_obj()

static int test_pdclust_instance_obj ( uint32_t  enum_id,
uint64_t  lid,
bool  inline_test,
bool  failure_test 
)
static

Definition at line 2511 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_recsize()

static void test_recsize ( void  )
static

Definition at line 2452 of file layout.c.

Here is the call graph for this function:

◆ test_recsize_pdclust()

static int test_recsize_pdclust ( uint32_t  enum_id,
uint64_t  lid,
uint32_t  inline_test 
)
static

Definition at line 2404 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_ref_get_put()

static void test_ref_get_put ( void  )
static

Definition at line 2094 of file layout.c.

Here is the call graph for this function:

◆ test_ref_get_put_pdclust()

static int test_ref_get_put_pdclust ( uint32_t  enum_id,
uint64_t  lid 
)
static

Definition at line 2043 of file layout.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_reg_unreg()

static void test_reg_unreg ( void  )
static

Definition at line 236 of file layout.c.

Here is the call graph for this function:

◆ test_reg_unreg_failure()

static void test_reg_unreg_failure ( void  )
static

Definition at line 310 of file layout.c.

Here is the call graph for this function:

◆ test_type_reg_unreg()

static void test_type_reg_unreg ( void  )
static

Definition at line 174 of file layout.c.

Here is the call graph for this function:

Variable Documentation

◆ domain

struct m0_layout_domain domain
static

Definition at line 49 of file layout.c.

◆ layout_ut

struct m0_ut_suite layout_ut

Definition at line 3763 of file layout.c.

◆ pool

struct m0_pool pool
static

Definition at line 50 of file layout.c.

◆ rc

int rc
static

Definition at line 51 of file layout.c.

◆ test_enum_ops

const struct m0_layout_enum_type_ops test_enum_ops
static
Initial value:
= {
.leto_register = t_enum_register,
.leto_unregister = t_enum_unregister,
.leto_max_recsize = t_enum_max_recsize
}
static int t_enum_register(struct m0_layout_domain *dom, const struct m0_layout_enum_type *et)
Definition: layout.c:191
static void t_enum_unregister(struct m0_layout_domain *dom, const struct m0_layout_enum_type *et)
Definition: layout.c:197
static m0_bcount_t t_enum_max_recsize(void)
Definition: layout.c:202

Definition at line 207 of file layout.c.

◆ test_enum_type

struct m0_layout_enum_type test_enum_type
Initial value:
= {
.let_name = "test",
.let_id = 2,
.let_ops = &test_enum_ops
}
static const struct m0_layout_enum_type_ops test_enum_ops
Definition: layout.c:207

Definition at line 213 of file layout.c.

◆ test_layout_type

struct m0_layout_type test_layout_type
Initial value:
= {
.lt_name = "test",
.lt_id = 2,
}
static const struct m0_layout_type_ops test_layout_type_ops
Definition: layout.c:162

Definition at line 168 of file layout.c.

◆ test_layout_type_ops

const struct m0_layout_type_ops test_layout_type_ops
static
Initial value:
= {
.lto_register = t_register,
.lto_unregister = t_unregister,
.lto_max_recsize = t_max_recsize
}
static int t_register(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
Definition: layout.c:146
static void t_unregister(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
Definition: layout.c:152
static m0_bcount_t t_max_recsize(struct m0_layout_domain *dom)
Definition: layout.c:157

Definition at line 162 of file layout.c.