Motr  M0
linear_enum.c File Reference
#include "lib/errno.h"
#include "lib/tlist.h"
#include "lib/vec.h"
#include "lib/memory.h"
#include "lib/misc.h"
#include "lib/bob.h"
#include "lib/finject.h"
#include "lib/trace.h"
#include "motr/magic.h"
#include "fid/fid.h"
#include "layout/layout_internal.h"
#include "layout/linear_enum.h"
#include "ioservice/fid_convert.h"
Include dependency graph for linear_enum.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_LAYOUT
 

Functions

 M0_BOB_DEFINE (static, &linear_bob, m0_layout_linear_enum)
 
static bool linear_allocated_invariant (const struct m0_layout_linear_enum *le)
 
static bool linear_invariant (const struct m0_layout_linear_enum *le)
 
static int linear_allocate (struct m0_layout_domain *dom, struct m0_layout_enum **out)
 
static void linear_delete (struct m0_layout_enum *e)
 
static int linear_populate (struct m0_layout_linear_enum *lin_enum, const struct m0_layout_linear_attr *attr)
 
M0_INTERNAL int m0_linear_enum_build (struct m0_layout_domain *dom, const struct m0_layout_linear_attr *attr, struct m0_layout_linear_enum **out)
 
static struct m0_layout_linear_enumenum_to_linear_enum (const struct m0_layout_enum *e)
 
static void linear_fini (struct m0_layout_enum *e)
 
static int linear_register (struct m0_layout_domain *dom, const struct m0_layout_enum_type *et)
 
static void linear_unregister (struct m0_layout_domain *dom, const struct m0_layout_enum_type *et)
 
static m0_bcount_t linear_max_recsize (void)
 
static int linear_decode (struct m0_layout_enum *e, struct m0_bufvec_cursor *cur, enum m0_layout_xcode_op op, struct m0_be_tx *tx, struct m0_striped_layout *stl)
 
static int linear_encode (const struct m0_layout_enum *e, enum m0_layout_xcode_op op, struct m0_be_tx *tx, struct m0_bufvec_cursor *out)
 
static uint32_t linear_nr (const struct m0_layout_enum *e)
 
static void linear_get (const struct m0_layout_enum *e, uint32_t idx, const struct m0_fid *gfid, struct m0_fid *out)
 
static m0_bcount_t linear_recsize (struct m0_layout_enum *e)
 

Variables

static const struct m0_bob_type linear_bob
 
static const struct m0_layout_enum_ops linear_enum_ops
 
static const struct m0_layout_enum_type_ops linear_type_ops
 
struct m0_layout_enum_type m0_linear_enum_type