Motr  M0
layout.c File Reference
#include "ut/ut.h"
#include "motr/ut/client.h"
#include "lib/finject.h"
#include "motr/layout.c"
#include "motr/composite_layout.c"
#include "lib/trace.h"
Include dependency graph for layout.c:

Go to the source code of this file.

Data Structures

struct  io_seg
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_CLIENT
 

Functions

static struct m0_op_layoutut_m0_op_layout_alloc ()
 
static void ut_m0_op_layout_free (struct m0_op_layout *ol)
 
static void ut_layout_op_invariant (void)
 
static void ut_layout_op_init (void)
 
static int op_layout_dummy_launch (struct m0_op_layout *ol)
 
static void ut_layout_op_cb_launch (void)
 
static void ut_layout_op_cb_free (void)
 
static void ut_layout_op_cb_fini (void)
 
static void ut_m0_layout_op (void)
 
static void ut_m0_client_layout_alloc (void)
 
static void ut_m0_layout_capture (void)
 
static struct m0_op_composite_iout_composite_io_op_alloc ()
 
static void ut_composite_io_op_free (struct m0_op_composite_io *oci)
 
static void ut_composite_io_op_cb_launch (void)
 
static void ut_composite_io_op_cb_free (void)
 
static void ut_composite_io_op_cb_fini (void)
 
static void ut_m0_composite_layer_add (void)
 
static void ut_m0_composite_layer_del (void)
 
static void ut_composite_sub_io_ops_build (void)
 
static int composite_layout_add_layers (struct m0_client_layout *layout, int nr_layers, struct m0_uint128 *layer_ids)
 
static int do_composite_io_divide (struct m0_client_composite_layout *clayout, int nr_io_segs, struct io_seg *io_segs, struct composite_sub_io **sio_arr, int *nr_subobjs)
 
static void ut_composite_io_divide (void)
 
static void ut_composite_layer_idx_extents_extract (void)
 
static void ut_composite_layer_idx_scan (void)
 
M0_INTERNAL int ut_suite_layout_init (void)
 
M0_INTERNAL int ut_suite_layout_fini (void)
 

Variables

struct m0_ut_suite ut_suite_layout
 
static struct m0_clientdummy_instance
 
static int dummy_op_rc = 0
 
static struct m0_op_layout_ops op_layout_dummy_ops
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_CLIENT

Definition at line 34 of file layout.c.

Function Documentation

◆ composite_layout_add_layers()

static int composite_layout_add_layers ( struct m0_client_layout layout,
int  nr_layers,
struct m0_uint128 layer_ids 
)
static

Definition at line 652 of file layout.c.

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

◆ do_composite_io_divide()

static int do_composite_io_divide ( struct m0_client_composite_layout clayout,
int  nr_io_segs,
struct io_seg io_segs,
struct composite_sub_io **  sio_arr,
int *  nr_subobjs 
)
static

Definition at line 691 of file layout.c.

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

◆ op_layout_dummy_launch()

static int op_layout_dummy_launch ( struct m0_op_layout ol)
static

Definition at line 120 of file layout.c.

◆ ut_composite_io_divide()

static void ut_composite_io_divide ( void  )
static

Definition at line 730 of file layout.c.

Here is the call graph for this function:

◆ ut_composite_io_op_alloc()

static struct m0_op_composite_io* ut_composite_io_op_alloc ( )
static

-------------------------------------------------------------------------—*

Client COMPOSITE LAYOUT Tests *

Definition at line 325 of file layout.c.

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

◆ ut_composite_io_op_cb_fini()

static void ut_composite_io_op_cb_fini ( void  )
static

Definition at line 473 of file layout.c.

Here is the call graph for this function:

◆ ut_composite_io_op_cb_free()

static void ut_composite_io_op_cb_free ( void  )
static

Definition at line 448 of file layout.c.

Here is the call graph for this function:

◆ ut_composite_io_op_cb_launch()

static void ut_composite_io_op_cb_launch ( void  )
static

Definition at line 398 of file layout.c.

Here is the call graph for this function:

◆ ut_composite_io_op_free()

static void ut_composite_io_op_free ( struct m0_op_composite_io oci)
static

Definition at line 391 of file layout.c.

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

◆ ut_composite_layer_idx_extents_extract()

static void ut_composite_layer_idx_extents_extract ( void  )
static

Definition at line 819 of file layout.c.

Here is the call graph for this function:

◆ ut_composite_layer_idx_scan()

static void ut_composite_layer_idx_scan ( void  )
static

Definition at line 899 of file layout.c.

◆ ut_composite_sub_io_ops_build()

static void ut_composite_sub_io_ops_build ( void  )
static

Definition at line 583 of file layout.c.

Here is the call graph for this function:

◆ ut_layout_op_cb_fini()

static void ut_layout_op_cb_fini ( void  )
static

Definition at line 204 of file layout.c.

Here is the call graph for this function:

◆ ut_layout_op_cb_free()

static void ut_layout_op_cb_free ( void  )
static

Definition at line 183 of file layout.c.

Here is the call graph for this function:

◆ ut_layout_op_cb_launch()

static void ut_layout_op_cb_launch ( void  )
static

Definition at line 131 of file layout.c.

Here is the call graph for this function:

◆ ut_layout_op_init()

static void ut_layout_op_init ( void  )
static

Definition at line 83 of file layout.c.

Here is the call graph for this function:

◆ ut_layout_op_invariant()

static void ut_layout_op_invariant ( void  )
static

Definition at line 63 of file layout.c.

Here is the call graph for this function:

◆ ut_m0_client_layout_alloc()

static void ut_m0_client_layout_alloc ( void  )
static

Definition at line 260 of file layout.c.

Here is the call graph for this function:

◆ ut_m0_composite_layer_add()

static void ut_m0_composite_layer_add ( void  )
static

Definition at line 499 of file layout.c.

Here is the call graph for this function:

◆ ut_m0_composite_layer_del()

static void ut_m0_composite_layer_del ( void  )
static

Definition at line 538 of file layout.c.

Here is the call graph for this function:

◆ ut_m0_layout_capture()

static void ut_m0_layout_capture ( void  )
static

Definition at line 283 of file layout.c.

Here is the call graph for this function:

◆ ut_m0_layout_op()

static void ut_m0_layout_op ( void  )
static

Definition at line 226 of file layout.c.

Here is the call graph for this function:

◆ ut_m0_op_layout_alloc()

static struct m0_op_layout* ut_m0_op_layout_alloc ( )
static

Definition at line 41 of file layout.c.

Here is the caller graph for this function:

◆ ut_m0_op_layout_free()

static void ut_m0_op_layout_free ( struct m0_op_layout ol)
static

Definition at line 58 of file layout.c.

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

◆ ut_suite_layout_fini()

M0_INTERNAL int ut_suite_layout_fini ( void  )

Definition at line 914 of file layout.c.

Here is the call graph for this function:

◆ ut_suite_layout_init()

M0_INTERNAL int ut_suite_layout_init ( void  )

Definition at line 904 of file layout.c.

Here is the call graph for this function:

Variable Documentation

◆ dummy_instance

struct m0_client* dummy_instance
static

Definition at line 39 of file layout.c.

◆ dummy_op_rc

int dummy_op_rc = 0
static

Definition at line 118 of file layout.c.

◆ op_layout_dummy_ops

struct m0_op_layout_ops op_layout_dummy_ops
static
Initial value:
= {
.olo_launch = op_layout_dummy_launch,
.olo_copy_to_app = NULL,
.olo_copy_from_app = NULL,
}
#define NULL
Definition: misc.h:38
static int op_layout_dummy_launch(struct m0_op_layout *ol)
Definition: layout.c:120

Definition at line 125 of file layout.c.

◆ ut_suite_layout

struct m0_ut_suite ut_suite_layout

Definition at line 37 of file layout.c.