Motr  M0
client.h File Reference
#include "lib/vec.h"
#include "lib/types.h"
#include "sm/sm.h"
#include "rpc/rpc_machine.h"
#include "fid/fid.h"
#include "lib/cookie.h"
#include "xcode/xcode_attr.h"
#include "motr/idx.h"
#include "cas/cas.h"
Include dependency graph for client.h:

Go to the source code of this file.

Data Structures

struct  m0_op
 
struct  m0_entity
 
struct  m0_obj_attr
 
struct  m0_obj
 
struct  m0_client_layout
 
struct  m0_idx_attr
 
struct  m0_idx
 
struct  m0_composite_layer_idx_key
 
struct  m0_composite_layer_idx_val
 
struct  m0_realm
 
struct  m0_container
 
struct  m0_epoch
 
struct  m0__dtx
 
struct  m0_op_ops
 
struct  m0_config
 

Macros

#define __MOTR_CLIENT_H__
 
#define M0_COMPOSITE_EXTENT_INF   (0xffffffffffffffff)
 

Enumerations

enum  m0_entity_opcode {
  M0_EO_INVALID, M0_EO_CREATE, M0_EO_DELETE, M0_EO_SYNC,
  M0_EO_OPEN, M0_EO_GETATTR, M0_EO_SETATTR, M0_EO_LAYOUT_GET,
  M0_EO_LAYOUT_SET, M0_EO_NR
}
 
enum  m0_obj_opcode {
  M0_OC_READ = M0_EO_NR + 1, M0_OC_WRITE, M0_OC_ALLOC, M0_OC_FREE,
  M0_OC_NR
}
 
enum  m0_idx_opcode {
  M0_IC_GET = M0_OC_NR + 1, M0_IC_PUT, M0_IC_DEL, M0_IC_NEXT,
  M0_IC_LOOKUP, M0_IC_LIST, M0_IC_NR
}
 
enum  m0_op_obj_flags { M0_OOF_NOHOLE = 1 << 0, M0_OOF_SYNC = 1 << 1 }
 
enum  m0_entity_type { M0_ET_REALM, M0_ET_OBJ, M0_ET_IDX }
 
enum  m0_entity_flags { M0_ENF_META = 1 << 0, M0_ENF_NO_RMW = 1 << 1, M0_ENF_DI = 1 << 2 }
 
enum  m0_op_state {
  M0_OS_UNINITIALISED, M0_OS_INITIALISED, M0_OS_LAUNCHED, M0_OS_EXECUTED,
  M0_OS_STABLE, M0_OS_FAILED, M0_OS_NR
}
 
enum  m0_client_layout_type { M0_LT_PDCLUST = 0, M0_LT_COMPOSITE, M0_LT_CAPTURE, M0_LT_NR }
 
enum  m0_realm_type { M0_ST_CONTAINER, M0_ST_EPOCH, M0_ST_DTX, M0_ST_NR }
 

Functions

int m0_obj_lock_init (struct m0_obj *obj)
 
void m0_obj_lock_fini (struct m0_obj *obj)
 
int m0_obj_write_lock_get (struct m0_obj *obj, struct m0_rm_lock_req *req, struct m0_clink *clink)
 
int m0_obj_write_lock_get_sync (struct m0_obj *obj, struct m0_rm_lock_req *req)
 
int m0_obj_read_lock_get (struct m0_obj *obj, struct m0_rm_lock_req *req, struct m0_clink *clink)
 
int m0_obj_read_lock_get_sync (struct m0_obj *obj, struct m0_rm_lock_req *req)
 
void m0_obj_lock_put (struct m0_rm_lock_req *req)
 
void m0_op_setup (struct m0_op *op, const struct m0_op_ops *cbs, m0_time_t linger)
 
void m0_op_launch (struct m0_op **op, uint32_t nr)
 
int32_t m0_op_wait (struct m0_op *op, uint64_t bits, m0_time_t to)
 
void m0_op_cancel (struct m0_op **op, uint32_t nr)
 
void m0_op_kick (struct m0_op *op)
 
int32_t m0_rc (const struct m0_op *op)
 
void m0_op_fini (struct m0_op *op)
 
void m0_op_free (struct m0_op *op)
 
void m0_container_init (struct m0_container *con, struct m0_realm *parent, const struct m0_uint128 *id, struct m0_client *instance)
 
void m0_epoch_init (struct m0_epoch *epoch, struct m0_realm *parent, const struct m0_uint128 *id)
 
void m0__dtx_init (struct m0__dtx *dtx, struct m0_realm *parent, const struct m0_uint128 *id)
 
void m0_obj_init (struct m0_obj *obj, struct m0_realm *parent, const struct m0_uint128 *id, uint64_t layout_id)
 
void m0_obj_fini (struct m0_obj *obj)
 
void m0_obj_idx_init (struct m0_idx *idx, const struct m0_obj *obj)
 
int m0_obj_op (struct m0_obj *obj, enum m0_obj_opcode opcode, struct m0_indexvec *ext, struct m0_bufvec *data, struct m0_bufvec *attr, uint64_t mask, uint32_t flags, struct m0_op **op)
 
void m0_idx_init (struct m0_idx *idx, struct m0_realm *parent, const struct m0_uint128 *id)
 
void m0_idx_fini (struct m0_idx *idx)
 
int m0_idx_op (struct m0_idx *idx, enum m0_idx_opcode opcode, struct m0_bufvec *keys, struct m0_bufvec *vals, int32_t *rcs, uint32_t flags, struct m0_op **op)
 
void m0_realm_create (struct m0_realm *realm, uint64_t wcount, uint64_t rcount, struct m0_op **op)
 
void m0_realm_open (struct m0_realm *realm, uint64_t wcount, uint64_t rcount, struct m0_op **op)
 
void m0_realm_close (struct m0_realm *realm, uint64_t wcount, uint64_t rcount, struct m0_op **op)
 
int m0_entity_open (struct m0_entity *entity, struct m0_op **op)
 
void m0_entity_fini (struct m0_entity *entity)
 
size_t m0_op_maxsize (void)
 
int m0_client_init (struct m0_client **m0c, struct m0_config *conf, bool init_m0)
 
void m0_client_fini (struct m0_client *m0c, bool fini_m0)
 
void m0_process_fid (const struct m0_client *m0c, struct m0_fid *proc_fid)
 
int m0_sync_op_init (struct m0_op **sop)
 
int m0_sync_entity_add (struct m0_op *sop, struct m0_entity *ent)
 
int m0_sync_op_add (struct m0_op *sop, struct m0_op *op)
 
int m0_entity_sync (struct m0_entity *ent)
 
int m0_sync (struct m0_client *m0c, bool wait)
 
uint64_t m0_obj_unit_size_to_layout_id (int unit_size)
 
int m0_obj_layout_id_to_unit_size (uint64_t layout_id)
 
uint64_t m0_client_layout_id (const struct m0_client *instance)
 
enum m0_client_layout_type m0_obj_layout_type (struct m0_obj *obj)
 
int m0_composite_layer_add (struct m0_client_layout *layout, struct m0_obj *sub_obj, int priority)
 
void m0_composite_layer_del (struct m0_client_layout *layout, struct m0_uint128 subobj_id)
 
int m0_composite_layer_idx (struct m0_uint128 layer_id, bool write, struct m0_idx *idx)
 
int m0_composite_layer_idx_key_to_buf (struct m0_composite_layer_idx_key *key, void **out_kbuf, m0_bcount_t *out_klen)
 
void m0_composite_layer_idx_key_from_buf (struct m0_composite_layer_idx_key *key, void *kbuf)
 
int m0_composite_layer_idx_val_to_buf (struct m0_composite_layer_idx_val *val, void **out_vbuf, m0_bcount_t *out_vlen)
 
void m0_composite_layer_idx_val_from_buf (struct m0_composite_layer_idx_val *val, void *vbuf)
 
int m0_client_layout_op (struct m0_obj *obj, enum m0_entity_opcode opcode, struct m0_client_layout *layout, struct m0_op **op)
 
int m0_client_layout_capture (struct m0_client_layout *layout, struct m0_obj *obj, struct m0_client_layout **out)
 
struct m0_client_layoutm0_client_layout_alloc (enum m0_client_layout_type type)
 
void m0_client_layout_free (struct m0_client_layout *layout)
 
int m0_entity_create (struct m0_fid *pool, struct m0_entity *entity, struct m0_op **op)
 
int m0_entity_delete (struct m0_entity *entity, struct m0_op **op)
 

Variables

enum m0_entity_opcode M0_XCA_ENUM
 
const struct m0_uint128 M0_UBER_REALM
 
const struct m0_uint128 M0_ID_APP
 

Macro Definition Documentation

◆ __MOTR_CLIENT_H__

#define __MOTR_CLIENT_H__

Definition at line 26 of file client.h.