Motr  M0
layout.h File Reference
#include "lib/types.h"
#include "lib/tlist.h"
#include "lib/mutex.h"
#include "lib/arith.h"
#include "lib/refs.h"
#include "fid/fid.h"
#include "layout/layout_pver.h"
Include dependency graph for layout.h:

Go to the source code of this file.

Data Structures

struct  m0_layout_domain
 
struct  m0_layout
 
struct  m0_layout_ops
 
struct  m0_layout_type
 
struct  m0_layout_type_ops
 
struct  m0_layout_enum
 
struct  m0_layout_enum_ops
 
struct  m0_layout_enum_type
 
struct  m0_layout_enum_type_ops
 
struct  m0_striped_layout
 
struct  m0_layout_instance
 
struct  m0_layout_instance_ops
 
struct  m0_layout_rec
 

Macros

#define __MOTR_LAYOUT_LAYOUT_H__
 

Enumerations

enum  m0_layout_xcode_op {
  M0_LXO_BUFFER_OP, M0_LXO_DB_LOOKUP, M0_LXO_DB_ADD, M0_LXO_DB_UPDATE,
  M0_LXO_DB_DELETE
}
 
enum  { M0_LAYOUT_TYPE_MAX = 32, M0_LAYOUT_ENUM_TYPE_MAX = 32 }
 

Functions

M0_INTERNAL void m0_layout_enum_fini (struct m0_layout_enum *le)
 
M0_INTERNAL struct m0_layout_enumm0_layout_instance_to_enum (const struct m0_layout_instance *li)
 
M0_INTERNAL int m0_layout_instance_build (struct m0_layout *l, const struct m0_fid *fid, struct m0_layout_instance **out)
 
M0_INTERNAL void m0_layout_instance_fini (struct m0_layout_instance *li)
 
 M0_BASSERT (M0_IS_8ALIGNED(sizeof(struct m0_layout_rec)))
 
M0_INTERNAL int m0_layouts_init (void)
 
M0_INTERNAL void m0_layouts_fini (void)
 
M0_INTERNAL int m0_layout_domain_init (struct m0_layout_domain *dom)
 
M0_INTERNAL void m0_layout_domain_fini (struct m0_layout_domain *dom)
 
M0_INTERNAL void m0_layout_domain_cleanup (struct m0_layout_domain *dom)
 
M0_INTERNAL int m0_layout_standard_types_register (struct m0_layout_domain *dom)
 
M0_INTERNAL void m0_layout_standard_types_unregister (struct m0_layout_domain *dom)
 
M0_INTERNAL int m0_layout_type_register (struct m0_layout_domain *dom, struct m0_layout_type *lt)
 
M0_INTERNAL void m0_layout_type_unregister (struct m0_layout_domain *dom, struct m0_layout_type *lt)
 
M0_INTERNAL int m0_layout_enum_type_register (struct m0_layout_domain *dom, struct m0_layout_enum_type *let)
 
M0_INTERNAL void m0_layout_enum_type_unregister (struct m0_layout_domain *dom, struct m0_layout_enum_type *let)
 
M0_INTERNAL void m0_layout_add (struct m0_layout_domain *dom, struct m0_layout *l)
 
M0_INTERNAL struct m0_layoutm0_layout_find (struct m0_layout_domain *dom, uint64_t lid)
 
M0_INTERNAL int64_t m0_layout_find_by_buffsize (struct m0_layout_domain *dom, struct m0_fid *pver, size_t buffsize)
 
M0_INTERNAL int64_t m0_layout_find_by_objsz (struct m0_client *cli, struct m0_fid *pool, size_t sz)
 
M0_INTERNAL void m0_layout_get (struct m0_layout *l)
 
M0_INTERNAL void m0_layout_put (struct m0_layout *l)
 
M0_INTERNAL void m0_layout_user_count_inc (struct m0_layout *l)
 
M0_INTERNAL void m0_layout_user_count_dec (struct m0_layout *l)
 
M0_INTERNAL int m0_layout_decode (struct m0_layout *l, struct m0_bufvec_cursor *cur, enum m0_layout_xcode_op op, struct m0_be_tx *tx)
 
M0_INTERNAL int m0_layout_encode (struct m0_layout *l, enum m0_layout_xcode_op op, struct m0_be_tx *tx, struct m0_bufvec_cursor *out)
 
M0_INTERNAL m0_bcount_t m0_layout_max_recsize (const struct m0_layout_domain *dom)
 
M0_INTERNAL struct m0_striped_layoutm0_layout_to_striped (const struct m0_layout *l)
 
M0_INTERNAL struct m0_layout_enumm0_striped_layout_to_enum (const struct m0_striped_layout *stl)
 
M0_INTERNAL struct m0_layout_enumm0_layout_to_enum (const struct m0_layout *l)
 
M0_INTERNAL uint32_t m0_layout_enum_nr (const struct m0_layout_enum *e)
 
M0_INTERNAL void m0_layout_enum_get (const struct m0_layout_enum *e, uint32_t idx, const struct m0_fid *gfid, struct m0_fid *out)
 
M0_INTERNAL uint32_t m0_layout_enum_find (const struct m0_layout_enum *e, const struct m0_fid *gfid, const struct m0_fid *target)
 

Macro Definition Documentation

◆ __MOTR_LAYOUT_LAYOUT_H__

#define __MOTR_LAYOUT_LAYOUT_H__

Definition at line 26 of file layout.h.