Motr  M0
Composite Layout Type.

Data Structures

struct  composite_schema_data
 
struct  layout_prefix
 
struct  m0_composite_layout
 

Functions

M0_INTERNAL void m0_composite_build (struct m0_layout_domain *dom, uint64_t lid, struct m0_tl *sub_layouts, struct m0_composite_layout **out)
 
static int composite_allocate (struct m0_layout_domain *dom, uint64_t lid, struct m0_layout **out)
 
static int composite_register (struct m0_layout_domain *dom, const struct m0_layout_type *lt)
 
static void composite_unregister (struct m0_layout_domain *dom, const struct m0_layout_type *lt)
 
static m0_bcount_t composite_max_recsize (struct m0_layout_domain *dom)
 

Variables

static const struct m0_layout_type_ops composite_type_ops
 
const struct m0_layout_type m0_composite_layout_type
 
const struct m0_layout_type m0_composite_layout_type
 

Detailed Description

Composite layout. Composite layout is made up of multiple sub-layouts. Each sub-layout needs to be read to obtain the overall layout details providing all the COB identifiers.

Function Documentation

◆ composite_allocate()

static int composite_allocate ( struct m0_layout_domain dom,
uint64_t  lid,
struct m0_layout **  out 
)
static

Definition at line 74 of file composite.c.

◆ composite_max_recsize()

static m0_bcount_t composite_max_recsize ( struct m0_layout_domain dom)
static

Implementation of lto_max_recsize() for COMPOSITE layout type.

Definition at line 136 of file composite.c.

◆ composite_register()

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

Implementation of lto_register for COMPOSITE layout type.

Initialises table specifically required for COMPOSITE layout type.

Definition at line 99 of file composite.c.

◆ composite_unregister()

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

Implementation of lto_unregister for COMPOSITE layout type.

Finalises table specifically required for COMPOSITE layout type.

Definition at line 121 of file composite.c.

◆ m0_composite_build()

M0_INTERNAL void m0_composite_build ( struct m0_layout_domain dom,
uint64_t  lid,
struct m0_tl sub_layouts,
struct m0_composite_layout **  out 
)

Definition at line 59 of file composite.c.

Variable Documentation

◆ composite_type_ops

const struct m0_layout_type_ops composite_type_ops
static
Initial value:
= {
.lto_register = composite_register,
.lto_unregister = composite_unregister,
.lto_max_recsize = composite_max_recsize,
.lto_allocate = composite_allocate
}
static void composite_unregister(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
Definition: composite.c:121
static int composite_allocate(struct m0_layout_domain *dom, uint64_t lid, struct m0_layout **out)
Definition: composite.c:74
static m0_bcount_t composite_max_recsize(struct m0_layout_domain *dom)
Definition: composite.c:136
static int composite_register(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
Definition: composite.c:99

Definition at line 237 of file composite.c.

◆ m0_composite_layout_type [1/2]

const struct m0_layout_type m0_composite_layout_type

Definition at line 245 of file composite.c.

◆ m0_composite_layout_type [2/2]

const struct m0_layout_type m0_composite_layout_type
Initial value:
= {
.lt_name = "composite",
.lt_id = 1,
.lt_ops = &composite_type_ops
}
static const struct m0_layout_type_ops composite_type_ops
Definition: composite.c:237

Definition at line 245 of file composite.c.