Motr  M0
Spiel API Internals

Data Structures

struct  spiel_repreb
 
struct  _pool_cmd_ctx
 
struct  m0_proc_data
 
struct  spiel_proc_counter_item
 
struct  spiel_proc_item
 
struct  spiel_string_entry
 
struct  _fs_stats_ctx
 
struct  spiel_conf_param
 
struct  m0_spiel_wlock_ctx
 
struct  m0_spiel_load_command
 

Macros

#define SPIEL_CONF_OBJ_FIND(confc, fid, conf_obj, filter, ...)
 
#define SPIEL_CONF_DIR_ITERATE(confc, ctx, iter_cb, ...)
 
#define SPIEL_DEVICE_FORMAT_TIMEOUT   m0_time_from_now(10*60, 0)
 
#define SPIEL_LOGLVL   M0_DEBUG
 
#define SPIEL_CONF_CHECK(cache, ...)
 

Enumerations

enum  { SPIEL_MAX_RPCS_IN_FLIGHT = 1, SPIEL_CONN_TIMEOUT = 5 }
 

Functions

 M0_TL_DESCR_DEFINE (spiel_string, "list of endpoints", static, struct spiel_string_entry, sse_link, sse_magic, M0_STATS_MAGIC, M0_STATS_HEAD_MAGIC)
 
 M0_TL_DEFINE (spiel_string, static, struct spiel_string_entry)
 
static void spiel_fop_destroy (struct m0_fop *fop)
 
static void spiel_rpc_link_destroy (struct m0_rpc_link *rlink)
 
static bool _filter_svc (const struct m0_conf_obj *obj)
 
static bool _filter_controller (const struct m0_conf_obj *obj)
 
static int spiel_node_process_endpoint_add (struct m0_spiel_core *spc, struct m0_conf_obj *node, struct m0_tl *list)
 
static int spiel_endpoints_for_device_generic (struct m0_spiel_core *spc, const struct m0_fid *drive, struct m0_tl *out)
 
static int spiel_cmd_send (struct m0_rpc_machine *rmachine, const char *remote_ep, struct m0_fop *cmd_fop, m0_time_t timeout, struct m0_rpc_link **rlink)
 
static int _spiel_conf_obj_find (struct m0_confc *confc, const struct m0_fid *obj_fid, bool(*filter)(const struct m0_conf_obj *obj), uint32_t nr_lvls, const struct m0_fid *path, struct m0_conf_obj **conf_obj)
 Find object with given obj_fid in provided confc. More...
 
static int _spiel_conf_dir_iterate (struct m0_confc *confc, void *ctx, bool(*iter_cb)(const struct m0_conf_obj *item, void *ctx), uint32_t nr_lvls, const struct m0_fid *path)
 
static int spiel_ss_ep_for_svc (const struct m0_conf_service *s, char **ss_ep)
 
static int spiel_svc_conf_obj_find (struct m0_spiel_core *spc, const struct m0_fid *svc, struct m0_conf_service **out)
 
static int spiel_svc_fop_fill (struct m0_fop *fop, struct m0_conf_service *svc, uint32_t cmd)
 
static int spiel_svc_fop_fill_and_send (struct m0_spiel_core *spc, struct m0_fop *fop, const struct m0_fid *svc_fid, uint32_t cmd, struct m0_rpc_link **rlink)
 
static struct m0_fopspiel_svc_fop_alloc (struct m0_rpc_machine *mach)
 
static struct m0_sss_repspiel_sss_reply_data (struct m0_fop *fop)
 
static int spiel_svc_generic_handler (struct m0_spiel_core *spc, const struct m0_fid *svc_fid, enum m0_sss_req_cmd cmd, int *status)
 
int m0_spiel_service_init (struct m0_spiel *spl, const struct m0_fid *svc_fid)
 
int m0_spiel_service_start (struct m0_spiel *spl, const struct m0_fid *svc_fid)
 
int m0_spiel_service_stop (struct m0_spiel *spl, const struct m0_fid *svc_fid)
 
int m0_spiel_service_health (struct m0_spiel *spl, const struct m0_fid *svc_fid)
 
int m0_spiel_service_quiesce (struct m0_spiel *spl, const struct m0_fid *svc_fid)
 
int m0_spiel_service_status (struct m0_spiel *spl, const struct m0_fid *svc_fid, int *status)
 
static int spiel_device_command_fop_send (struct m0_spiel_core *spc, const char *endpoint, const struct m0_fid *dev_fid, int cmd, uint32_t *ha_state)
 
static int spiel_device_command_send (struct m0_spiel_core *spc, const struct m0_fid *drive, enum m0_sss_device_req_cmd cmd, uint32_t *ha_state)
 
int m0_spiel_device_attach (struct m0_spiel *spl, const struct m0_fid *dev_fid)
 
int m0_spiel_device_attach_state (struct m0_spiel *spl, const struct m0_fid *dev_fid, uint32_t *ha_state)
 
int m0_spiel_device_detach (struct m0_spiel *spl, const struct m0_fid *dev_fid)
 
int m0_spiel_device_format (struct m0_spiel *spl, const struct m0_fid *dev_fid)
 
static bool _filter_proc (const struct m0_conf_obj *obj)
 
static int spiel_proc_conf_obj_find (struct m0_spiel_core *spc, const struct m0_fid *proc, struct m0_conf_process **out)
 
static int spiel_process_command_send (struct m0_spiel_core *spc, const struct m0_fid *proc_fid, struct m0_fop *fop, struct m0_rpc_link **rlink)
 
static struct m0_ss_process_repspiel_process_reply_data (struct m0_fop *fop)
 
static int spiel_process_command_execute (struct m0_spiel_core *spc, const struct m0_fid *proc_fid, int cmd, const struct m0_buf *param, struct m0_ss_process_rep *ssp_rep)
 
static int spiel_process_command (struct m0_spiel *spl, const struct m0_fid *proc_fid, int cmd)
 
int m0_spiel_process_stop (struct m0_spiel *spl, const struct m0_fid *proc_fid)
 
int m0_spiel_process_reconfig (struct m0_spiel *spl, const struct m0_fid *proc_fid)
 
static int spiel_process__health (struct m0_spiel_core *spc, const struct m0_fid *proc_fid)
 
int m0_spiel_process_health (struct m0_spiel *spl, const struct m0_fid *proc_fid)
 
int m0_spiel_process_quiesce (struct m0_spiel *spl, const struct m0_fid *proc_fid)
 
static int spiel_running_svcs_list_fill (struct m0_bufs *bufs, struct m0_spiel_running_svc **svcs)
 
int m0_spiel_process_list_services (struct m0_spiel *spl, const struct m0_fid *proc_fid, struct m0_spiel_running_svc **services)
 
int m0_spiel_process_lib_load (struct m0_spiel *spl, const struct m0_fid *proc_fid, const char *libname)
 
static int spiel_stats_item_add (struct m0_tl *tl, const struct m0_fid *fid)
 
static bool _filter_pool (const struct m0_conf_obj *obj)
 
static int spiel_repreb_cmd_send (struct m0_rpc_machine *rmachine, const char *remote_ep, struct spiel_repreb *repreb)
 
static int spiel_repreb_fop_fill_and_send (struct m0_spiel_core *spc, struct m0_fop *fop, enum m0_cm_op op, struct spiel_repreb *repreb)
 
static int spiel_pool_device_collect (struct _pool_cmd_ctx *ctx, struct m0_conf_obj *obj_diskv)
 
static bool _filter_sdev (const struct m0_conf_obj *obj)
 
static bool spiel__pool_service_has_sdev (struct _pool_cmd_ctx *ctx, const struct m0_conf_obj *service)
 
static void spiel__pool_ctx_init (struct _pool_cmd_ctx *ctx, struct m0_spiel_core *spc, enum m0_repreb_type type)
 
static void spiel__pool_ctx_fini (struct _pool_cmd_ctx *ctx)
 
static void spiel__add_item (struct _pool_cmd_ctx *pool_ctx, const struct m0_conf_obj *item, struct m0_conf_service *service, enum m0_conf_service_type type)
 
static bool spiel__pool_service_select (const struct m0_conf_obj *item, void *ctx)
 
static int spiel__pool_cmd_send (struct _pool_cmd_ctx *ctx, const enum m0_cm_op cmd, struct spiel_repreb *repreb)
 
static int spiel__pool_cmd_status_get (struct _pool_cmd_ctx *ctx, const enum m0_cm_op cmd, struct spiel_repreb *repreb)
 
static bool _filter_objv (const struct m0_conf_obj *obj)
 
static int spiel_pool__device_collection_fill (struct _pool_cmd_ctx *ctx, const struct m0_fid *pool_fid)
 
static int spiel_pool_generic_handler (struct m0_spiel_core *spc, const struct m0_fid *pool_fid, const enum m0_cm_op cmd, struct m0_spiel_repreb_status **statuses, enum m0_repreb_type type)
 
int m0_spiel_sns_repair_start (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_repair_start (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_repair_start (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_repair_continue (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_repair_continue (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_repair_continue (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_repair_quiesce (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_repair_quiesce (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_repair_quiesce (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_repair_abort (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_repair_abort (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_repair_abort (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_repair_status (struct m0_spiel *spl, const struct m0_fid *pool_fid, struct m0_spiel_repreb_status **statuses)
 
int m0_spiel_dix_repair_status (struct m0_spiel *spl, const struct m0_fid *pool_fid, struct m0_spiel_repreb_status **statuses)
 
int m0_spiel_pool_repair_status (struct m0_spiel *spl, const struct m0_fid *pool_fid, struct m0_spiel_sns_status **statuses)
 
int m0_spiel_sns_rebalance_start (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_rebalance_start (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_rebalance_start (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_rebalance_continue (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_node_direct_rebalance_start (struct m0_spiel *spl, const struct m0_fid *node_fid)
 
int m0_spiel_dix_rebalance_continue (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_rebalance_continue (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_rebalance_quiesce (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_rebalance_quiesce (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_rebalance_quiesce (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_sns_rebalance_status (struct m0_spiel *spl, const struct m0_fid *pool_fid, struct m0_spiel_repreb_status **statuses)
 
int m0_spiel_dix_rebalance_status (struct m0_spiel *spl, const struct m0_fid *pool_fid, struct m0_spiel_repreb_status **statuses)
 
int m0_spiel_pool_rebalance_status (struct m0_spiel *spl, const struct m0_fid *pool_fid, struct m0_spiel_sns_status **statuses)
 
int m0_spiel_sns_rebalance_abort (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_dix_rebalance_abort (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
int m0_spiel_pool_rebalance_abort (struct m0_spiel *spl, const struct m0_fid *pool_fid)
 
 M0_TL_DESCR_DEFINE (spiel_proc_items, "spiel_proc_items", static, struct spiel_proc_item, spi_link, spi_magic, M0_SPIEL_PROC_MAGIC, M0_SPIEL_PROC_HEAD_MAGIC)
 
 M0_TL_DEFINE (spiel_proc_items, static, struct spiel_proc_item)
 
static void _fs_stats_ctx_lock (struct _fs_stats_ctx *fsx)
 
static void _fs_stats_ctx_unlock (struct _fs_stats_ctx *fsx)
 
static void spiel_proc_item_postprocess (struct spiel_proc_item *proc)
 
static bool spiel_proc_item_disconnect_cb (struct m0_clink *clink)
 
static void spiel_process_disconnect_async (struct spiel_proc_item *proc)
 
static void spiel_process_health_replied_ast (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static void spiel_proc_item_disconnect_ast (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static struct m0_sm_groupspiel_proc_sm_group (const struct spiel_proc_item *p)
 
static void spiel_process_health_replied (struct m0_rpc_item *item)
 
static bool spiel_proc_item_rlink_cb (struct m0_clink *clink)
 
static void spiel_process__health_async (struct _fs_stats_ctx *fsx, struct spiel_proc_item *proc)
 
static void spiel__fs_stats_ctx_init (struct _fs_stats_ctx *fsx, struct m0_spiel_core *spc, const struct m0_conf_obj_type *item_type)
 
static void spiel__fs_stats_ctx_fini (struct _fs_stats_ctx *fsx)
 
static bool spiel__item_enlist (const struct m0_conf_obj *item, void *ctx)
 
static int spiel__proc_is_to_update_stats (struct spiel_proc_item *proc, struct m0_confc *confc)
 
static void spiel_process_counter_replied_ast (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static struct m0_sm_groupspiel_counter_sm_group (struct spiel_proc_counter_item *i)
 
static void spiel_process_counter_replied (struct m0_rpc_item *item)
 
static bool spiel_proc_counter_item_rlink_cb (struct m0_clink *clink)
 
static int spiel_process__counters_async (struct spiel_proc_counter_item *proc)
 
static void count_stats_failed_free (struct m0_proc_counter *count_stats, int failed_index)
 
int m0_spiel_proc_counters_fetch (struct m0_spiel *spl, struct m0_fid *proc_fid, struct m0_proc_counter *count_stats)
 
M0_INTERNAL int m0_spiel__fs_stats_fetch (struct m0_spiel_core *spc, struct m0_fs_stats *stats)
 
int m0_spiel_filesystem_stats_fetch (struct m0_spiel *spl, struct m0_fs_stats *stats)
 
int m0_spiel_confstr (struct m0_spiel *spl, char **out)
 
int m0_spiel_conf_pver_status (struct m0_spiel *spl, struct m0_fid *fid, struct m0_conf_pver_info *out_info)
 
 M0_TL_DESCR_DECLARE (rpcbulk, M0_EXTERN)
 
static int spiel_rwlockable_write_domain_init (struct m0_spiel_wlock_ctx *wlx)
 
static void spiel_rwlockable_write_domain_fini (struct m0_spiel_wlock_ctx *wlx)
 
static int spiel_root_ver_update (struct m0_spiel_tx *tx, uint64_t verno)
 
void m0_spiel_tx_open (struct m0_spiel *spiel, struct m0_spiel_tx *tx)
 
int m0_spiel_tx_validate (struct m0_spiel_tx *tx)
 
void m0_spiel_tx_close (struct m0_spiel_tx *tx)
 
static bool spiel_load_cmd_invariant (struct m0_spiel_load_command *cmd)
 
static uint64_t spiel_root_conf_version (struct m0_spiel_tx *tx)
 
static void spiel_load_fop_fini (struct m0_spiel_load_command *spiel_cmd)
 
static void spiel_load_fop_release (struct m0_ref *ref)
 
static int spiel_load_fop_init (struct m0_spiel_load_command *spiel_cmd, struct m0_spiel_tx *tx)
 
static int spiel_load_fop_create (struct m0_spiel_tx *tx, struct m0_spiel_load_command *spiel_cmd)
 
static int spiel_load_fop_send (struct m0_spiel_tx *tx, struct m0_spiel_load_command *spiel_cmd)
 
static void spiel_flip_fop_release (struct m0_ref *ref)
 
static int spiel_flip_fop_send (struct m0_spiel_tx *tx, struct m0_spiel_load_command *spiel_cmd)
 
static int wlock_ctx_semaphore_init (struct m0_spiel_wlock_ctx *wlx)
 
static void wlock_ctx_semaphore_up (struct m0_spiel_wlock_ctx *wlx)
 
static int wlock_ctx_create (struct m0_spiel *spl)
 
static void wlock_ctx_destroy (struct m0_spiel_wlock_ctx *wlx)
 
static int wlock_ctx_connect (struct m0_spiel_wlock_ctx *wlx)
 
static void wlock_ctx_disconnect (struct m0_spiel_wlock_ctx *wlx)
 
static void spiel_tx_write_lock_complete (struct m0_rm_incoming *in, int32_t rc)
 
static void spiel_tx_write_lock_conflict (struct m0_rm_incoming *in)
 
static void wlock_ctx_creditor_setup (struct m0_spiel_wlock_ctx *wlx)
 
static void _spiel_tx_write_lock_get (struct m0_spiel_wlock_ctx *wlx)
 
static void wlock_ctx_creditor_unset (struct m0_spiel_wlock_ctx *wlx)
 
static void wlock_ctx_semaphore_down (struct m0_spiel_wlock_ctx *wlx)
 
static void wlock_ctx_owner_windup (struct m0_spiel_wlock_ctx *wlx)
 
static int spiel_tx_write_lock_get (struct m0_spiel_tx *tx)
 
static void _spiel_tx_write_lock_put (struct m0_spiel_wlock_ctx *wlx)
 
static void spiel_tx_write_lock_put (struct m0_spiel_tx *tx)
 
int m0_spiel_tx_commit_forced (struct m0_spiel_tx *tx, bool forced, uint64_t ver_forced, uint32_t *rquorum)
 
int m0_spiel_tx_commit (struct m0_spiel_tx *tx)
 
static int spiel_root_dirs_create (struct m0_conf_root *r)
 
static int spiel_node_dirs_create (struct m0_conf_node *node)
 
static int spiel_process_dirs_create (struct m0_conf_process *process)
 
static int spiel_service_dirs_create (struct m0_conf_service *service)
 
static int spiel_pool_dirs_create (struct m0_conf_pool *pool)
 
static int spiel_site_dirs_create (struct m0_conf_site *site)
 
static int spiel_rack_dirs_create (struct m0_conf_rack *rack)
 
static int spiel_enclosure_dirs_create (struct m0_conf_enclosure *enclosure)
 
static int spiel_controller_dirs_create (struct m0_conf_controller *controller)
 
static int spiel_pver_dirs_create (struct m0_conf_pver *pver)
 
static int spiel_sitev_dirs_create (struct m0_conf_objv *objv)
 
static int spiel_rackv_dirs_create (struct m0_conf_objv *objv)
 
static int spiel_enclosurev_dirs_create (struct m0_conf_objv *objv)
 
static int spiel_controllerv_dirs_create (struct m0_conf_objv *objv)
 
static int spiel_conf_parameter_check (struct m0_conf_cache *cache, struct spiel_conf_param *parameters)
 
int m0_spiel_root_add (struct m0_spiel_tx *tx, const struct m0_fid *rootfid, const struct m0_fid *mdpool, const struct m0_fid *imeta_pver, uint32_t mdredundancy, const char **params)
 
int m0_spiel_node_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, uint32_t memsize, uint32_t nr_cpu, uint64_t last_state, uint64_t flags)
 
static bool spiel_cores_is_valid (const struct m0_bitmap *cores)
 
int m0_spiel_process_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, struct m0_bitmap *cores, uint64_t memlimit_as, uint64_t memlimit_rss, uint64_t memlimit_stack, uint64_t memlimit_memlock, const char *endpoint)
 
int m0_spiel_service_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_spiel_service_info *service_info)
 
int m0_spiel_device_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *drive, uint32_t dev_idx, enum m0_cfg_storage_device_interface_type iface, enum m0_cfg_storage_device_media_type media, uint32_t bsize, uint64_t size, uint64_t last_state, uint64_t flags, const char *filename)
 
int m0_spiel_profile_add (struct m0_spiel_tx *tx, const struct m0_fid *fid)
 
static int spiel_profile_pool_add (struct m0_conf_profile *prof, const struct m0_fid *pool)
 
int m0_spiel_profile_pool_add (struct m0_spiel_tx *tx, const struct m0_fid *profile, const struct m0_fid *pool)
 
int m0_spiel_pool_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, uint32_t pver_policy)
 
int m0_spiel_site_add (struct m0_spiel_tx *tx, const struct m0_fid *fid)
 
int m0_spiel_rack_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent)
 
int m0_spiel_enclosure_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *node)
 
int m0_spiel_controller_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent)
 
int m0_spiel_drive_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent)
 
int m0_spiel_pver_actual_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_pdclust_attr *attrs, uint32_t *tolerance, uint32_t tolerance_len)
 
int m0_spiel_pver_formulaic_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, uint32_t index, const struct m0_fid *base_pver, uint32_t *allowance, uint32_t allowance_len)
 
int m0_spiel_site_v_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *real)
 
int m0_spiel_rack_v_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *real)
 
int m0_spiel_enclosure_v_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *real)
 
int m0_spiel_controller_v_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *real)
 
int m0_spiel_drive_v_add (struct m0_spiel_tx *tx, const struct m0_fid *fid, const struct m0_fid *parent, const struct m0_fid *real)
 
static int spiel_pver_add (struct m0_conf_obj **obj_v, struct m0_conf_pver *pver)
 
static int spiel_pver_delete (struct m0_conf_obj *obj, const struct m0_conf_pver *pver)
 
static int spiel_objv_remove (struct m0_conf_obj **obj, struct m0_conf_pver *pver)
 
static int spiel_pver_iterator (struct m0_conf_obj *dir, struct m0_conf_pver *pver, int(*action)(struct m0_conf_obj **, struct m0_conf_pver *))
 
int m0_spiel_pool_version_done (struct m0_spiel_tx *tx, const struct m0_fid *fid)
 
static void spiel_pver_remove (struct m0_conf_cache *cache, struct m0_conf_pver *pver)
 
int m0_spiel_element_del (struct m0_spiel_tx *tx, const struct m0_fid *fid)
 
static int spiel_str_to_file (char *str, const char *filename)
 
static int spiel_tx_to_str (struct m0_spiel_tx *tx, uint64_t ver_forced, char **str, bool debug)
 
int m0_spiel_tx_to_str (struct m0_spiel_tx *tx, uint64_t ver_forced, char **str)
 
void m0_spiel_tx_str_free (char *str)
 
static int spiel_tx_dump (struct m0_spiel_tx *tx, uint64_t ver_forced, const char *filename, bool debug)
 
int m0_spiel_tx_dump (struct m0_spiel_tx *tx, uint64_t ver_forced, const char *filename)
 
int m0_spiel_tx_dump_debug (struct m0_spiel_tx *tx, uint64_t ver_forced, const char *filename)
 
int m0_spiel_init (struct m0_spiel *spiel, struct m0_reqh *reqh)
 
void m0_spiel_fini (struct m0_spiel *spiel)
 
int m0_spiel_rconfc_start (struct m0_spiel *spiel, m0_rconfc_cb_t expired_cb)
 
void m0_spiel_rconfc_stop (struct m0_spiel *spiel)
 
int m0_spiel_cmd_profile_set (struct m0_spiel *spiel, const char *profile_str)
 

Variables

struct m0_rpc_item_ops spiel_process_health_ops
 
struct m0_rpc_item_ops spiel_process_counter_ops
 
static struct m0_rm_incoming_ops spiel_tx_ri_ops
 

Detailed Description

Macro Definition Documentation

◆ SPIEL_CONF_CHECK

#define SPIEL_CONF_CHECK (   cache,
  ... 
)
Value:
__VA_ARGS__, \
{ NULL, NULL, NULL }, });
Definition: beck.c:235
#define NULL
Definition: misc.h:38
static int spiel_conf_parameter_check(struct m0_conf_cache *cache, struct spiel_conf_param *parameters)
Definition: conf_mgmt.c:875

Definition at line 75 of file conf_mgmt.c.

◆ SPIEL_CONF_DIR_ITERATE

#define SPIEL_CONF_DIR_ITERATE (   confc,
  ctx,
  iter_cb,
  ... 
)
Value:
M0_COUNT_PARAMS(__VA_ARGS__) + 1, \
(const struct m0_fid []){ \
__VA_ARGS__, M0_FID0 })
#define M0_COUNT_PARAMS(...)
Definition: misc.h:370
static struct m0_confc * confc
Definition: file.c:94
static int _spiel_conf_dir_iterate(struct m0_confc *confc, void *ctx, bool(*iter_cb)(const struct m0_conf_obj *item, void *ctx), uint32_t nr_lvls, const struct m0_fid *path)
Definition: cmd.c:320
Definition: fid.h:38
Definition: nucleus.c:42
#define M0_FID0
Definition: fid.h:93

Definition at line 40 of file cmd_internal.h.

◆ SPIEL_CONF_OBJ_FIND

#define SPIEL_CONF_OBJ_FIND (   confc,
  fid,
  conf_obj,
  filter,
  ... 
)
Value:
M0_COUNT_PARAMS(__VA_ARGS__) + 1, \
(const struct m0_fid []){ \
__VA_ARGS__, M0_FID0 }, \
conf_obj)
#define M0_COUNT_PARAMS(...)
Definition: misc.h:370
struct m0_fid fid
Definition: di.c:46
Definition: filter.py:1
static struct m0_confc * confc
Definition: file.c:94
Definition: fid.h:38
static int _spiel_conf_obj_find(struct m0_confc *confc, const struct m0_fid *obj_fid, bool(*filter)(const struct m0_conf_obj *obj), uint32_t nr_lvls, const struct m0_fid *path, struct m0_conf_obj **conf_obj)
Find object with given obj_fid in provided confc.
Definition: cmd.c:258
#define M0_FID0
Definition: fid.h:93

Definition at line 33 of file cmd_internal.h.

◆ SPIEL_DEVICE_FORMAT_TIMEOUT

#define SPIEL_DEVICE_FORMAT_TIMEOUT   m0_time_from_now(10*60, 0)

Definition at line 51 of file cmd_internal.h.

◆ SPIEL_LOGLVL

#define SPIEL_LOGLVL   M0_DEBUG

Definition at line 88 of file cmd_internal.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SPIEL_MAX_RPCS_IN_FLIGHT 
SPIEL_CONN_TIMEOUT 

Definition at line 46 of file cmd_internal.h.

Function Documentation

◆ _filter_controller()

static bool _filter_controller ( const struct m0_conf_obj obj)
static

Definition at line 80 of file cmd.c.

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

◆ _filter_objv()

static bool _filter_objv ( const struct m0_conf_obj obj)
static

Definition at line 1188 of file cmd.c.

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

◆ _filter_pool()

static bool _filter_pool ( const struct m0_conf_obj obj)
static

Definition at line 922 of file cmd.c.

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

◆ _filter_proc()

static bool _filter_proc ( const struct m0_conf_obj obj)
static

Definition at line 679 of file cmd.c.

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

◆ _filter_sdev()

static bool _filter_sdev ( const struct m0_conf_obj obj)
static

Definition at line 1034 of file cmd.c.

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

◆ _filter_svc()

static bool _filter_svc ( const struct m0_conf_obj obj)
static

Definition at line 75 of file cmd.c.

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

◆ _fs_stats_ctx_lock()

static void _fs_stats_ctx_lock ( struct _fs_stats_ctx fsx)
inlinestatic

Definition at line 1739 of file cmd.c.

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

◆ _fs_stats_ctx_unlock()

static void _fs_stats_ctx_unlock ( struct _fs_stats_ctx fsx)
inlinestatic

Definition at line 1744 of file cmd.c.

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

◆ _spiel_conf_dir_iterate()

static int _spiel_conf_dir_iterate ( struct m0_confc confc,
void *  ctx,
bool(*)(const struct m0_conf_obj *item, void *ctx iter_cb,
uint32_t  nr_lvls,
const struct m0_fid path 
)
static

Iterates through directory specified by the path and calls iterator callback on every directory item having the object pinned during callback execution.

Definition at line 320 of file cmd.c.

Here is the call graph for this function:

◆ _spiel_conf_obj_find()

static int _spiel_conf_obj_find ( struct m0_confc confc,
const struct m0_fid obj_fid,
bool(*)(const struct m0_conf_obj *obj filter,
uint32_t  nr_lvls,
const struct m0_fid path,
struct m0_conf_obj **  conf_obj 
)
static

Find object with given obj_fid in provided confc.

Function uses m0_conf_diter internally and traverses tree starting from the root object in confc.

Should not be called directly, macro SPIEL_CONF_OBJ_FIND should be used instead.

User should close returned non-NULL conf_obj using m0_confc_close()

Parameters
confcconfc instance
obj_fidobject FID to search for
filterfunction to filter nodes during tree traversal. Identical to filter argument in m0_conf_diter_next_sync
nr_lvlsNumber of directory levels to traverse (m0_conf__diter_init)
pathPath in configuration tree to traverse. Path should be started from the root object
conf_objoutput value. Found object or NULL if object is not found

Definition at line 258 of file cmd.c.

Here is the call graph for this function:

◆ _spiel_tx_write_lock_get()

static void _spiel_tx_write_lock_get ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 480 of file conf_mgmt.c.

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

◆ _spiel_tx_write_lock_put()

static void _spiel_tx_write_lock_put ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 562 of file conf_mgmt.c.

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

◆ count_stats_failed_free()

static void count_stats_failed_free ( struct m0_proc_counter count_stats,
int  failed_index 
)
static

Definition at line 2198 of file cmd.c.

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

◆ m0_spiel__fs_stats_fetch()

M0_INTERNAL int m0_spiel__fs_stats_fetch ( struct m0_spiel_core *  spc,
struct m0_fs_stats stats 
)

A less demanding version of m0_spiel_filesystem_stats_fetch() requiring a properly initialised m0_spiel_core as a "lightweight spiel" instance.

Precondition
spc->spc_rmachine != NULL
spc->spc_confc != NULL
m0_conf_fid_type(&spc->spc_profile) == &M0_CONF_PROFILE_TYPE

Definition at line 2315 of file cmd.c.

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

◆ m0_spiel_cmd_profile_set()

int m0_spiel_cmd_profile_set ( struct m0_spiel spiel,
const char *  profile_str 
)

Set spiel command profile fid from string. Profile string pointer may be NULL, and this results in setting the fid to M0_FID0.

XXX-MULTIPOOLS: DELETEME

Definition at line 100 of file spiel.c.

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

◆ m0_spiel_conf_pver_status()

int m0_spiel_conf_pver_status ( struct m0_spiel spl,
struct m0_fid fid,
struct m0_conf_pver_info out_info 
)

Returns the status of the pool version according to number of failed srecd objects in the pool version.

This is a wrapper over conf/pvers.h m0_conf_pver_status().

Parameters
splspiel instance, must have confc cache initialized and populated.
fidfid of the pool version whose status is queried.
out_infoout parameter which will contain status along with some pdclust attributes of pool version.
Precondition
fid != NULL
m0_confc_is_inited(confc) == true
Returns
rc of the function.

Definition at line 2397 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_confstr()

int m0_spiel_confstr ( struct m0_spiel spl,
char **  out 
)

Dumps configuration cache to a string in XC format.

Configuration cache is expected to be fully loaded at this point. (Call m0_spiel_confstr() after m0_spiel_rconfc_start(), and you will be fine.)

Note
If the call succeeds, the user is responsible for freeing allocated memory with free(*out) (not m0_free()).

Definition at line 2380 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_controller_add()

int m0_spiel_controller_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent 
)

Adds controller to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the controller
parentfid of the parent enclosure

Definition at line 1518 of file conf_mgmt.c.

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

◆ m0_spiel_controller_v_add()

int m0_spiel_controller_v_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid real 
)

Adds controller "v-object"

Parameters
txspiel transaction
fidfid of controller-v
parentfid of the parent enclosure-v
realfid of the enclosure this object points to

Definition at line 1864 of file conf_mgmt.c.

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

◆ m0_spiel_device_add()

int m0_spiel_device_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid drive,
uint32_t  dev_idx,
enum m0_cfg_storage_device_interface_type  iface,
enum m0_cfg_storage_device_media_type  media,
uint32_t  bsize,
uint64_t  size,
uint64_t  last_state,
uint64_t  flags,
const char *  filename 
)

Adds service to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the device
parentfid of the parent service
drivefid of the corresponding drive
ifacedevice interface type
mediadevice media type
bsizeblock size in bytes
sizesize in bytes
last_statelast known state (bitmask of m0_cfg_state_bit)
flagsdifferent flags (bitmask of m0_cfg_flag_bit)
filenamedevice filename.

Definition at line 1156 of file conf_mgmt.c.

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

◆ m0_spiel_device_attach()

int m0_spiel_device_attach ( struct m0_spiel spl,
const struct m0_fid dev_fid 
)

Attaches device to the motr service

Parameters
splspiel instance
dev_fiddevice fid from configuration DB

Definition at line 641 of file cmd.c.

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

◆ m0_spiel_device_attach_state()

int m0_spiel_device_attach_state ( struct m0_spiel spl,
const struct m0_fid dev_fid,
uint32_t *  ha_state 
)

Attaches device to the motr service and reports device object HA state found during the action on remote side.

Definition at line 647 of file cmd.c.

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

◆ m0_spiel_device_detach()

int m0_spiel_device_detach ( struct m0_spiel spl,
const struct m0_fid dev_fid 
)

Detaches device from the motr service

Parameters
splspiel instance
dev_fiddevice fid from configuration DB

Definition at line 658 of file cmd.c.

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

◆ m0_spiel_device_format()

int m0_spiel_device_format ( struct m0_spiel spl,
const struct m0_fid dev_fid 
)

Format specified device

Parameters
splspiel instance
dev_fiddevice fid from configuration DB

Definition at line 667 of file cmd.c.

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

◆ m0_spiel_dix_rebalance_abort()

int m0_spiel_dix_rebalance_abort ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1641 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_dix_rebalance_continue()

int m0_spiel_dix_rebalance_continue ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1549 of file cmd.c.

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

◆ m0_spiel_dix_rebalance_quiesce()

int m0_spiel_dix_rebalance_quiesce ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1576 of file cmd.c.

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

◆ m0_spiel_dix_rebalance_start()

int m0_spiel_dix_rebalance_start ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1514 of file cmd.c.

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

◆ m0_spiel_dix_rebalance_status()

int m0_spiel_dix_rebalance_status ( struct m0_spiel spl,
const struct m0_fid pool_fid,
struct m0_spiel_repreb_status **  statuses 
)

Definition at line 1608 of file cmd.c.

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

◆ m0_spiel_dix_repair_abort()

int m0_spiel_dix_repair_abort ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1448 of file cmd.c.

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

◆ m0_spiel_dix_repair_continue()

int m0_spiel_dix_repair_continue ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1394 of file cmd.c.

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

◆ m0_spiel_dix_repair_quiesce()

int m0_spiel_dix_repair_quiesce ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1421 of file cmd.c.

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

◆ m0_spiel_dix_repair_start()

int m0_spiel_dix_repair_start ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Definition at line 1367 of file cmd.c.

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

◆ m0_spiel_dix_repair_status()

int m0_spiel_dix_repair_status ( struct m0_spiel spl,
const struct m0_fid pool_fid,
struct m0_spiel_repreb_status **  statuses 
)

Definition at line 1480 of file cmd.c.

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

◆ m0_spiel_drive_add()

int m0_spiel_drive_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent 
)

Adds drive to the configuration tree of the transcation

Parameters
txspiel transaction
fidfid of the drive
parentfid of the parent controller

Definition at line 1562 of file conf_mgmt.c.

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

◆ m0_spiel_drive_v_add()

int m0_spiel_drive_v_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid real 
)

Adds drive "v-object"

Parameters
txspiel transaction
fidfid of drive-v
parentfid of the parent controller-v
realfid of the drive this object points to

Definition at line 1912 of file conf_mgmt.c.

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

◆ m0_spiel_element_del()

int m0_spiel_element_del ( struct m0_spiel_tx tx,
const struct m0_fid fid 
)

Deletes element that was previously added to transaction configuration tree.

Parameters
txspiel transaction
fidfid of the object to be deleted

Definition at line 2124 of file conf_mgmt.c.

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

◆ m0_spiel_enclosure_add()

int m0_spiel_enclosure_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid node 
)

Adds enclosure to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the enclosure
parentfid of the parent rack
nodethe node this enclosure is associated with

Definition at line 1470 of file conf_mgmt.c.

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

◆ m0_spiel_enclosure_v_add()

int m0_spiel_enclosure_v_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid real 
)

Adds enclosure "v-object"

Parameters
txspiel transaction
fidfid of enclosure-v
parentfid of the parent rack-v
realfid of the enclosure this object points to

Definition at line 1816 of file conf_mgmt.c.

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

◆ m0_spiel_filesystem_stats_fetch()

int m0_spiel_filesystem_stats_fetch ( struct m0_spiel spl,
struct m0_fs_stats stats 
)

Fetches stats for filesystem pools within the profile. Spiel API internally polls all process instances registered in configuration database under the profile.

Parameters
[in]splspiel instance, must have profile fid set up to the moment of the call
[out]statsinstance of m0_fs_stats to be filled with resultant values. The instance counter values are written only in case of success, and must be ignored otherwise.

Definition at line 2374 of file cmd.c.

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

◆ m0_spiel_fini()

void m0_spiel_fini ( struct m0_spiel spiel)

Finalises spiel instance.

Definition at line 59 of file spiel.c.

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

◆ m0_spiel_init()

int m0_spiel_init ( struct m0_spiel spiel,
struct m0_reqh reqh 
)

Initialises spiel instance. Should be invoked before using other spiel functions. If initialisation fails, then spiel instance must not be used.

Parameters
spielspiel instance
reqhrequest handler
Precondition
reqh != NULL

Definition at line 44 of file spiel.c.

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

◆ m0_spiel_node_add()

int m0_spiel_node_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
uint32_t  memsize,
uint32_t  nr_cpu,
uint64_t  last_state,
uint64_t  flags 
)

Adds node to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the node
memsizeamount of available memory on the node
nr_cpunumber of CPUs on the node
last_statelast known state (bitmask of m0_cfg_state_bit)
flagsdifferent flags (bitmask of m0_cfg_flag_bit)

Definition at line 974 of file conf_mgmt.c.

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

◆ m0_spiel_node_direct_rebalance_start()

int m0_spiel_node_direct_rebalance_start ( struct m0_spiel spl,
const struct m0_fid node 
)

Starts direct rebalance for the given node.

Parameters
splspiel instance
nodefid of the node to be rebalanced

Definition at line 1541 of file cmd.c.

◆ m0_spiel_pool_add()

int m0_spiel_pool_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
uint32_t  pver_policy 
)

Adds pool to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the pool
pver_policypool version policy
Note
call this function several times to add the pool to more than one profile.

Definition at line 1339 of file conf_mgmt.c.

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

◆ m0_spiel_pool_rebalance_abort()

int m0_spiel_pool_rebalance_abort ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_rebalance_abort().

Definition at line 1652 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_rebalance_continue()

int m0_spiel_pool_rebalance_continue ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_rebalance_continue().

Definition at line 1560 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_rebalance_quiesce()

int m0_spiel_pool_rebalance_quiesce ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_rebalance_quiesce().

Definition at line 1587 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_rebalance_start()

int m0_spiel_pool_rebalance_start ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_rebalance_start().

Definition at line 1525 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_rebalance_status()

int m0_spiel_pool_rebalance_status ( struct m0_spiel spl,
const struct m0_fid pool_fid,
struct m0_spiel_sns_status **  statuses 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_rebalance_status().

Definition at line 1623 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_repair_abort()

int m0_spiel_pool_repair_abort ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_repair_abort().

Definition at line 1459 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_repair_continue()

int m0_spiel_pool_repair_continue ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_repair_continue().

Definition at line 1405 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_repair_quiesce()

int m0_spiel_pool_repair_quiesce ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_repair_quiesce().

Definition at line 1432 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_repair_start()

int m0_spiel_pool_repair_start ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_repair_start().

Definition at line 1378 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_repair_status()

int m0_spiel_pool_repair_status ( struct m0_spiel spl,
const struct m0_fid pool_fid,
struct m0_spiel_sns_status **  statuses 
)
Todo:
Remove once Halon supports m0_spiel_{sns,dix}_repair_status().

Definition at line 1496 of file cmd.c.

Here is the call graph for this function:

◆ m0_spiel_pool_version_done()

int m0_spiel_pool_version_done ( struct m0_spiel_tx tx,
const struct m0_fid fid 
)

Signals that constructing pool version tree is finished

Parameters
txspiel transaction
fidfid of the pool version

Definition at line 2075 of file conf_mgmt.c.

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

◆ m0_spiel_proc_counters_fetch()

int m0_spiel_proc_counters_fetch ( struct m0_spiel spl,
struct m0_fid proc_fid,
struct m0_proc_counter count_stats 
)

Fetches byte counts and object counts per pool version written by all end users from a target ioservice. All entries in the byte count btree present in the ioservice is fetched by a call of this API.

Parameters
[in]splspiel instance used for executing spiel command.
[in]proc_fidfid of the target ioservice.
[out]count_statsinstance of m0_proc_counter to be filled with resultant values. Check m0_proc_counter::pc_rc for successful execution, ignore rest of the values otherwise.
Returns
rc -EPERM if process is offline. -EAGAIN if confc is not initialized.

Definition at line 2211 of file cmd.c.

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

◆ m0_spiel_process_add()

int m0_spiel_process_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
struct m0_bitmap cores,
uint64_t  memlimit_as,
uint64_t  memlimit_rss,
uint64_t  memlimit_stack,
uint64_t  memlimit_memlock,
const char *  endpoint 
)

Adds process to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the process
parentfid of the parent node
coreslimit on the number of used cores
memlimit_*memory limit for the process
endpointprocess endpoint

Definition at line 1033 of file conf_mgmt.c.

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

◆ m0_spiel_process_health()

int m0_spiel_process_health ( struct m0_spiel spl,
const struct m0_fid proc_fid 
)

Checks health status of the motr process

Parameters
splspiel instance
Returns
value from ::m0_health if operation successful
negative value if error occurred

Definition at line 814 of file cmd.c.

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

◆ m0_spiel_process_lib_load()

int m0_spiel_process_lib_load ( struct m0_spiel spl,
const struct m0_fid proc_fid,
const char *  libname 
)

Loads a library in the process address space.

Library loading is supported only in user space at the moment. The library must be loadable by dlopen(3).

When the library is loaded, motr_lib_init() function in it (if present) is invoked without parameters. This funciton is called in a fom tick context, so it shouldn't block.

Parameters
splspiel instance
proc_fidprocess fid from configuration DB
libnamefull path to the library in the server file system.

Definition at line 892 of file cmd.c.

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

◆ m0_spiel_process_list_services()

int m0_spiel_process_list_services ( struct m0_spiel spl,
const struct m0_fid proc_fid,
struct m0_spiel_running_svc **  services 
)

Lists currently running services inside the motr process. Can be used to monitor services and detect service failures.

Returns
number of filled elements in services array on success, error code otherwise.
Parameters
splspiel instance
proc_fidprocess fid from configuration DB
servicesarray to store running services fid and name, see m0_spiel_running_svc

Definition at line 858 of file cmd.c.

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

◆ m0_spiel_process_quiesce()

int m0_spiel_process_quiesce ( struct m0_spiel spl,
const struct m0_fid proc_fid 
)

Prepares motr process for stopping

Parameters
splspiel instance
proc_fidprocess fid from configuration DB

Definition at line 821 of file cmd.c.

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

◆ m0_spiel_process_reconfig()

int m0_spiel_process_reconfig ( struct m0_spiel spl,
const struct m0_fid proc_fid 
)

Re-configures process running on motr node (for example set nicety, memory usage limit, etc.)

Parameters
splspiel instance
proc_fidprocess fid from configuration DB

Definition at line 788 of file cmd.c.

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

◆ m0_spiel_process_stop()

int m0_spiel_process_stop ( struct m0_spiel spl,
const struct m0_fid proc_fid 
)

Stop process on motr node

Parameters
splspiel instance
proc_fidprocess fid from configuration DB

Definition at line 781 of file cmd.c.

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

◆ m0_spiel_profile_add()

int m0_spiel_profile_add ( struct m0_spiel_tx tx,
const struct m0_fid fid 
)

Adds profile to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the profile

Definition at line 1236 of file conf_mgmt.c.

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

◆ m0_spiel_profile_pool_add()

int m0_spiel_profile_pool_add ( struct m0_spiel_tx tx,
const struct m0_fid profile,
const struct m0_fid pool 
)

Adds pool into the profile

To add several pools into the profile - call this routine several times with a new argument each time.

Definition at line 1304 of file conf_mgmt.c.

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

◆ m0_spiel_pver_actual_add()

int m0_spiel_pver_actual_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_pdclust_attr attrs,
uint32_t *  tolerance,
uint32_t  tolerance_len 
)

Adds an actual pool version.

Pool version is represented as a tree of "v-objects". "V-objects" can be added to the pool version using calls like m0_spiel_site_v_add(), m0_spiel_rack_v_add(), etc. After all "V-objects" are added, function m0_spiel_pool_version_done() should be called.

Parameter tolerance is number of allowed HW failures in each failure domain. Currently there are 5 failure domains: sites, racks, enclosures, controllers, and drives.

Parameters
txspiel transaction
fidfid of the pool version
parentfid of the parent pool
attrsattributes specific to layout type
toleranceallowed failures for each failure domain
tolerance_lennumber of elements in tolerance array
Precondition
tolerance_len == M0_CONF_PVER_HEIGHT
See also
conf_pvers (conf/pvers.h) to learn about different kinds (actual/formulaic/virtual) of pool version objects.

Definition at line 1601 of file conf_mgmt.c.

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

◆ m0_spiel_pver_formulaic_add()

int m0_spiel_pver_formulaic_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
uint32_t  index,
const struct m0_fid base_pver,
uint32_t *  allowance,
uint32_t  allowance_len 
)

Adds a formulaic pool version.

Parameters
txSpiel transaction.
fidPool version fid.
parentParent pool fid.
indexCluster-unique identifier of this formulaic pver.
base_pverActual pver, the subtree of which is used as a base for virtual pver creation/restoration.
allowanceNumber of allowed failures for each level of pver subtree.
allowance_lenNumber of elements in the ‘allowance’ array.
Precondition
allowance_len == M0_CONF_PVER_HEIGHT
See also
conf_pvers (conf/pvers.h) to learn about different kinds (actual/formulaic/virtual) of pool version objects.

Definition at line 1659 of file conf_mgmt.c.

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

◆ m0_spiel_rack_add()

int m0_spiel_rack_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent 
)

Adds rack to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the rack
parentfid of the parent site

Definition at line 1426 of file conf_mgmt.c.

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

◆ m0_spiel_rack_v_add()

int m0_spiel_rack_v_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid real 
)

Adds rack "v-object"

Parameters
txspiel transaction
fidfid of rack-v
parentfid of the parent site-v
realfid of the rack this object points to

Definition at line 1768 of file conf_mgmt.c.

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

◆ m0_spiel_rconfc_start()

int m0_spiel_rconfc_start ( struct m0_spiel spiel,
m0_rconfc_cb_t  expired_cb 
)

Starts spiel instance.

Schematic code to start spiel using standard motr setup procedure:

Parameters
spielspiel instance
m0_rconfc_cb_trconfc expiration callback

Definition at line 66 of file spiel.c.

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

◆ m0_spiel_rconfc_stop()

void m0_spiel_rconfc_stop ( struct m0_spiel spiel)

Stops spiel instance.

Definition at line 91 of file spiel.c.

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

◆ m0_spiel_root_add()

int m0_spiel_root_add ( struct m0_spiel_tx tx,
const struct m0_fid rootfid,
const struct m0_fid mdpool,
const struct m0_fid imeta_pver,
uint32_t  mdredundancy,
const char **  params 
)

Adds the configuration tree of the transaction

Parameters
txspiel transaction
rootfidAny fid. Reserved for future use.
mdpoolmeta-data pool
imeta_pver

Distributed index meta-data pool version. It contains storage devices controlled by CAS services — no IOS storage devices are allowed. If there are no CAS services in configuration then the value should be M0_FID0.

Index meta-data is created (analogue of m0mkfs for distributed indices) during cluster provisioning via m0_dix_meta_create() or via special utility like m0dixinit. m0_dix_meta_create() will refuse to create meta-data if it already exists. In this case user may destroy meta-data via m0_dix_meta_destroy() or just zero corresponding devices. For more detailed information see dix/client.h, "Index meta-data" section.

Note
For now, storage devices specified in configuration are not actually used by CAS services, so they can be faked (even don't really exist as devices in operating system).
Parameters
mdredundancymeta-data redundancy
paramsNULL-terminated array of extra parameters. Parameters are copied, so caller can safely free them.

Definition at line 902 of file conf_mgmt.c.

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

◆ m0_spiel_service_add()

int m0_spiel_service_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_spiel_service_info service_info 
)

Adds service to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the service
parentfid of the parent process
service_infoservice info

Definition at line 1101 of file conf_mgmt.c.

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

◆ m0_spiel_service_health()

int m0_spiel_service_health ( struct m0_spiel spl,
const struct m0_fid svc_fid 
)

Checks health status of the motr service

Parameters
splspiel instance
svc_fidservice fid from configuration DB
Returns
value from m0_service_health if operation successful
negative value if error occurred

Definition at line 537 of file cmd.c.

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

◆ m0_spiel_service_init()

int m0_spiel_service_init ( struct m0_spiel spl,
const struct m0_fid svc_fid 
)

Initialises motr service

Parameters
splspiel instance
svc_fidservice fid from configuration DB

Definition at line 507 of file cmd.c.

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

◆ m0_spiel_service_quiesce()

int m0_spiel_service_quiesce ( struct m0_spiel spl,
const struct m0_fid svc_fid 
)

Instructs motr service to stop accepting incoming requests

Parameters
splspiel instance
svc_fidservice fid from configuration DB

Definition at line 546 of file cmd.c.

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

◆ m0_spiel_service_start()

int m0_spiel_service_start ( struct m0_spiel spl,
const struct m0_fid svc_fid 
)

Starts motr service

Parameters
splspiel instance
svc_fidservice fid from configuration DB

Definition at line 516 of file cmd.c.

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

◆ m0_spiel_service_status()

int m0_spiel_service_status ( struct m0_spiel spl,
const struct m0_fid svc_fid,
int *  status 
)

Returns status of the motr service

Parameters
splspiel instance
svc_fidservice fid from configuration DB
Returns
0 and state of the service if operation was successful negative value if error occurred

Definition at line 556 of file cmd.c.

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

◆ m0_spiel_service_stop()

int m0_spiel_service_stop ( struct m0_spiel spl,
const struct m0_fid svc_fid 
)

Stops motr service. Stopping of Top Level RM is disallowed, the function returns -EPERM result code in this case.

Parameters
splspiel instance
svc_fidservice fid from configuration DB

Definition at line 525 of file cmd.c.

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

◆ m0_spiel_site_add()

int m0_spiel_site_add ( struct m0_spiel_tx tx,
const struct m0_fid fid 
)

Adds site to the configuration tree of the transaction

Parameters
txspiel transaction
fidfid of the site

Definition at line 1382 of file conf_mgmt.c.

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

◆ m0_spiel_site_v_add()

int m0_spiel_site_v_add ( struct m0_spiel_tx tx,
const struct m0_fid fid,
const struct m0_fid parent,
const struct m0_fid real 
)

Adds site "v-object"

Parameters
txspiel transaction
fidfid of site-v
parentfid of the parent pool version
realfid of the site this object points to

Definition at line 1716 of file conf_mgmt.c.

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

◆ m0_spiel_sns_rebalance_abort()

int m0_spiel_sns_rebalance_abort ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Aborts pool SNS or DIX rebalance operation.

Aborts ongoing pool SNS or DIX rebalance operation. Waits until all the sns services notify completion.

Note
Blocks until operation is copleted.
Parameters
splspiel instance
pool_fidpool identifier

Definition at line 1631 of file cmd.c.

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

◆ m0_spiel_sns_rebalance_continue()

int m0_spiel_sns_rebalance_continue ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Continues pool rebalance.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and resumes rebalance which was paused. 0 is returned if each service replies with success result code. Spiel client is able to check status of the current rebalance process by calling of m0_spiel_sns_rebalance_status() or m0_spiel_dix_rebalance_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
0 if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_rebalance_status
m0_spiel_sns_rebalance_quiesce
m0_spiel_dix_rebalance_status
m0_spiel_dix_rebalance_quiesce

Definition at line 1531 of file cmd.c.

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

◆ m0_spiel_sns_rebalance_quiesce()

int m0_spiel_sns_rebalance_quiesce ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Quiesces pool rebalance.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and pauses rebalance. 0 is returned if each service replies with success result code (rebalance process is in PAUSED state). Spiel client is able to check status of the current rebalance process by calling of m0_spiel_sns_rebalance_status() or m0_spiel_dix_rebalance_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
0 if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_rebalance_status
m0_spiel_dix_rebalance_status

Definition at line 1566 of file cmd.c.

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

◆ m0_spiel_sns_rebalance_start()

int m0_spiel_sns_rebalance_start ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Starts pool rebalance.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and starts rebalance. 0 is returned if each service replies with success result code. Spiel client is able to check status of the current rebalance process by calling of m0_spiel_sns_rebalance_status() or m0_spiel_dix_rebalance_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
0 if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_rebalance_status
m0_spiel_dix_rebalance_status

Definition at line 1504 of file cmd.c.

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

◆ m0_spiel_sns_rebalance_status()

int m0_spiel_sns_rebalance_status ( struct m0_spiel spl,
const struct m0_fid pool_fid,
struct m0_spiel_repreb_status **  statuses 
)

Gets status of pool rebalance.

The command is synchronous. It waits replies from all SNS or DIX services.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
statusespointer where statuses of services will be stored
Returns
number of the servies if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
Note
If the call succeeds, the user is responsible for freeing allocated memory with m0_free(*statuses).

Definition at line 1593 of file cmd.c.

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

◆ m0_spiel_sns_repair_abort()

int m0_spiel_sns_repair_abort ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Aborts pool repair.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and aborts repair. 0 is returned if each service replies with success result code (repair process is successfully aborted). Spiel client is able to check status of the current repair process by calling of m0_spiel_sns_repair_status() or m0_spiel_dix_repair_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
0 if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_repair_status
m0_spiel_dix_repair_status

Definition at line 1438 of file cmd.c.

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

◆ m0_spiel_sns_repair_continue()

int m0_spiel_sns_repair_continue ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Continues pool repair.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and resumes repair which was paused by m0_spiel_sns_repair_quiesce() or m0_spiel_dix_repair_quiesce(). 0 is returned if each service replies with success result code. Spiel client is able to check status of the current repair process by calling of m0_spiel_sns_repair_status() or m0_spiel_dix_repair_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
number of the services if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_repair_status
m0_spiel_sns_repair_quiesce
m0_spiel_dix_repair_status
m0_spiel_dix_repair_quiesce

Definition at line 1384 of file cmd.c.

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

◆ m0_spiel_sns_repair_quiesce()

int m0_spiel_sns_repair_quiesce ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Quiesces pool repair.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and pauses repair. 0 is returned if each service replies with success result code (repair process is in PAUSED state). Spiel client is able to check status of the current repair process by calling of m0_spiel_sns_repair_status() or m0_spiel_dix_repair_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
0 if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_repair_status
m0_spiel_dix_repair_status

Definition at line 1411 of file cmd.c.

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

◆ m0_spiel_sns_repair_start()

int m0_spiel_sns_repair_start ( struct m0_spiel spl,
const struct m0_fid pool_fid 
)

Starts pool repair.

The command is synchronous. It waits replies from all SNS or DIX services that each one receives fop and starts repair. 0 is returned if each service replies with success result code. Spiel client is able to check status of the current repair process by calling of m0_spiel_sns_repair_status() or m0_spiel_dix_repair_status() command.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
Returns
0 if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
See also
m0_spiel_sns_repair_status
m0_spiel_dix_repair_status

Definition at line 1357 of file cmd.c.

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

◆ m0_spiel_sns_repair_status()

int m0_spiel_sns_repair_status ( struct m0_spiel spl,
const struct m0_fid pool_fid,
struct m0_spiel_repreb_status **  statuses 
)

Gets status of pool repair.

The command is synchronous. It waits replies from all SNS or DIX services.

Parameters
splspiel instance
pool_fidpool fid from configuration DB
statusespointer where statuses of services will be stored
Returns
number of services if all services reply with success result code, otherwise an error code from the first failed service (it replies with error) or confc (an error occurred during read of the configuration database)
Note
If the call succeeds, the user is responsible for freeing allocated memory with m0_free(*statuses).

Definition at line 1465 of file cmd.c.

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

◆ m0_spiel_tx_close()

void m0_spiel_tx_close ( struct m0_spiel_tx tx)

Frees Spiel context without completing the transaction.

Definition at line 171 of file conf_mgmt.c.

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

◆ m0_spiel_tx_commit()

int m0_spiel_tx_commit ( struct m0_spiel_tx tx)

Commits filled-in spiel transaction. The call performs normal committing when reaching quorum is mandatory for uploading new configuration to confd servers and putting it in effect. Endpoints of confd and rm services will be resolved internally by rconfc which gets them from HA service.

Once function succeeded, the spiel transaction must not be committed anymore. When failed, forced committing with m0_spiel_tx_commit_forced() still remains as an option.

Parameters
txspiel transaction
Note
In case normal transaction committing is required, but resultant quorum number reached is to be controlled as well, the action has to be done using m0_spiel_tx_commit_forced(), specifying non-forced committing as follows:
uint32_t rquorum = 0;
&rquorum);

Definition at line 723 of file conf_mgmt.c.

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

◆ m0_spiel_tx_commit_forced()

int m0_spiel_tx_commit_forced ( struct m0_spiel_tx tx,
bool  forced,
uint64_t  ver_forced,
uint32_t *  rquorum 
)

Commits filled-in spiel transaction forcing as many loads and flips as possible, no matter if quorum reached or not. The call allows version number be overridden compared to the version number obtained at m0_spiel_start(). In this case ver_forced must be of the value other than M0_CONF_VER_UNKNOWN, otherwise the version number value remains what it initially was.

The spiel transaction may be forcibly committed as many times as required completing previously failed uploads to confd servers.

Parameters
txspiel transaction
forcedcommitting with forcing any possible LOAD/FLIP enabled
ver_forcedversion number the initial value to be overridden with
rquorumresultant quorum value reached, NULL value allowed
Note
Parameters forced and ver_forced may be used independent of each other, i.e. forced committing with unchanged version number is possible as well as non-forced committing with version number overridden.

Definition at line 591 of file conf_mgmt.c.

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

◆ m0_spiel_tx_dump()

int m0_spiel_tx_dump ( struct m0_spiel_tx tx,
uint64_t  ver_forced,
const char *  filename 
)

Saves spiel transaction dump to file.

Note
Sets transaction's root version number to ver_forced.
Precondition
ver_forced != M0_CONF_VER_UNKNOWN

Definition at line 2205 of file conf_mgmt.c.

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

◆ m0_spiel_tx_dump_debug()

int m0_spiel_tx_dump_debug ( struct m0_spiel_tx tx,
uint64_t  ver_forced,
const char *  filename 
)

Saves spiel transaction dump to file with error and stub object too.

Note
Sets transaction's root version number to ver_forced.
Precondition
ver_forced != M0_CONF_VER_UNKNOWN

Definition at line 2212 of file conf_mgmt.c.

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

◆ m0_spiel_tx_open()

void m0_spiel_tx_open ( struct m0_spiel spiel,
struct m0_spiel_tx tx 
)

Initialises and opens spiel transaction.

In case transaction is created for the sole purpose of dumping conf data, to string or file, ‘spiel’ parameter may be NULL:

spiel_tx__conf_str_create() {
struct m0_spiel_tx tx;
const int ver_forced = 10;
char *local_conf;
int rc;
. . . add configuration items to tx . . .
rc = m0_spiel_tx_to_str(&tx, ver_forced, &local_conf);
. . . make use of local_conf . . .
}

In case (spiel == NULL), the transaction must not be m0_spiel_tx_commit()ted.

Precondition
tx != NULL

Definition at line 105 of file conf_mgmt.c.

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

◆ m0_spiel_tx_str_free()

void m0_spiel_tx_str_free ( char *  str)

Definition at line 2182 of file conf_mgmt.c.

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

◆ m0_spiel_tx_to_str()

int m0_spiel_tx_to_str ( struct m0_spiel_tx tx,
uint64_t  ver_forced,
char **  str 
)

Saves spiel transaction dump to string. Caller is responsible for freeing the string with m0_spiel_tx_str_free().

Note
Sets transaction's root version number to ver_forced.
Precondition
ver_forced != M0_CONF_VER_UNKNOWN

Definition at line 2174 of file conf_mgmt.c.

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

◆ m0_spiel_tx_validate()

int m0_spiel_tx_validate ( struct m0_spiel_tx tx)

Check cache for completeness: each element has state M0_CS_READY and has real parent (if last need by obj type)

Definition at line 136 of file conf_mgmt.c.

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

◆ M0_TL_DEFINE() [1/2]

M0_TL_DEFINE ( spiel_string  ,
static  ,
struct spiel_string_entry   
)

◆ M0_TL_DEFINE() [2/2]

M0_TL_DEFINE ( spiel_proc_items  ,
static  ,
struct spiel_proc_item   
)

◆ M0_TL_DESCR_DECLARE()

M0_TL_DESCR_DECLARE ( rpcbulk  ,
M0_EXTERN   
)

◆ M0_TL_DESCR_DEFINE() [1/2]

M0_TL_DESCR_DEFINE ( spiel_string  ,
"list of endpoints"  ,
static  ,
struct spiel_string_entry  ,
sse_link  ,
sse_magic  ,
M0_STATS_MAGIC  ,
M0_STATS_HEAD_MAGIC   
)

◆ M0_TL_DESCR_DEFINE() [2/2]

M0_TL_DESCR_DEFINE ( spiel_proc_items  ,
"spiel_proc_items"  ,
static  ,
struct spiel_proc_item  ,
spi_link  ,
spi_magic  ,
M0_SPIEL_PROC_MAGIC  ,
M0_SPIEL_PROC_HEAD_MAGIC   
)

◆ spiel__add_item()

static void spiel__add_item ( struct _pool_cmd_ctx pool_ctx,
const struct m0_conf_obj item,
struct m0_conf_service service,
enum m0_conf_service_type  type 
)
static

Definition at line 1095 of file cmd.c.

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

◆ spiel__fs_stats_ctx_fini()

static void spiel__fs_stats_ctx_fini ( struct _fs_stats_ctx fsx)
static

Definition at line 1953 of file cmd.c.

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

◆ spiel__fs_stats_ctx_init()

static void spiel__fs_stats_ctx_init ( struct _fs_stats_ctx fsx,
struct m0_spiel_core *  spc,
const struct m0_conf_obj_type item_type 
)
static

Definition at line 1940 of file cmd.c.

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

◆ spiel__item_enlist()

static bool spiel__item_enlist ( const struct m0_conf_obj item,
void *  ctx 
)
static

Callback provided to SPIEL_CONF_DIR_ITERATE. Intended for collecting fids from configuration objects which type matches to the type specified in collection context, i.e. process objects in this particular case. See m0_spiel_filesystem_stats_fetch() where spiel__fs_stats_ctx_init() is done.

Definition at line 1973 of file cmd.c.

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

◆ spiel__pool_cmd_send()

static int spiel__pool_cmd_send ( struct _pool_cmd_ctx ctx,
const enum m0_cm_op  cmd,
struct spiel_repreb repreb 
)
static

Definition at line 1127 of file cmd.c.

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

◆ spiel__pool_cmd_status_get()

static int spiel__pool_cmd_status_get ( struct _pool_cmd_ctx ctx,
const enum m0_cm_op  cmd,
struct spiel_repreb repreb 
)
static

Definition at line 1147 of file cmd.c.

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

◆ spiel__pool_ctx_fini()

static void spiel__pool_ctx_fini ( struct _pool_cmd_ctx ctx)
static

Definition at line 1078 of file cmd.c.

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

◆ spiel__pool_ctx_init()

static void spiel__pool_ctx_init ( struct _pool_cmd_ctx ctx,
struct m0_spiel_core *  spc,
enum m0_repreb_type  type 
)
static

Definition at line 1065 of file cmd.c.

Here is the caller graph for this function:

◆ spiel__pool_service_has_sdev()

static bool spiel__pool_service_has_sdev ( struct _pool_cmd_ctx ctx,
const struct m0_conf_obj service 
)
static

Definition at line 1039 of file cmd.c.

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

◆ spiel__pool_service_select()

static bool spiel__pool_service_select ( const struct m0_conf_obj item,
void *  ctx 
)
static

Definition at line 1106 of file cmd.c.

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

◆ spiel__proc_is_to_update_stats()

static int spiel__proc_is_to_update_stats ( struct spiel_proc_item proc,
struct m0_confc confc 
)
static

Determines whether process with given fid should update fs stats.

Process, in case it hosts MDS or IOS, and is M0_NC_ONLINE to the moment of call, should update collected fs stats.

Definition at line 2003 of file cmd.c.

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

◆ spiel_cmd_send()

static int spiel_cmd_send ( struct m0_rpc_machine rmachine,
const char *  remote_ep,
struct m0_fop cmd_fop,
m0_time_t  timeout,
struct m0_rpc_link **  rlink 
)
static

Definition at line 191 of file cmd.c.

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

◆ spiel_conf_parameter_check()

static int spiel_conf_parameter_check ( struct m0_conf_cache cache,
struct spiel_conf_param parameters 
)
static

Definition at line 875 of file conf_mgmt.c.

Here is the call graph for this function:

◆ spiel_controller_dirs_create()

static int spiel_controller_dirs_create ( struct m0_conf_controller controller)
static

Create m0_conf_dir objects for m0_conf_controller.

Definition at line 818 of file conf_mgmt.c.

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

◆ spiel_controllerv_dirs_create()

static int spiel_controllerv_dirs_create ( struct m0_conf_objv objv)
static

Create m0_conf_dir objects for controller version.

Definition at line 867 of file conf_mgmt.c.

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

◆ spiel_cores_is_valid()

static bool spiel_cores_is_valid ( const struct m0_bitmap cores)
static

Definition at line 1027 of file conf_mgmt.c.

Here is the caller graph for this function:

◆ spiel_counter_sm_group()

static struct m0_sm_group* spiel_counter_sm_group ( struct spiel_proc_counter_item i)
static

Definition at line 2094 of file cmd.c.

Here is the caller graph for this function:

◆ spiel_device_command_fop_send()

static int spiel_device_command_fop_send ( struct m0_spiel_core *  spc,
const char *  endpoint,
const struct m0_fid dev_fid,
int  cmd,
uint32_t *  ha_state 
)
static

Definition at line 571 of file cmd.c.

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

◆ spiel_device_command_send()

static int spiel_device_command_send ( struct m0_spiel_core *  spc,
const struct m0_fid drive,
enum m0_sss_device_req_cmd  cmd,
uint32_t *  ha_state 
)
static

Send ‘cmd’ (m0_sss_device_fop::ssd_cmd) to all IO services that use ‘drive’.

Definition at line 606 of file cmd.c.

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

◆ spiel_enclosure_dirs_create()

static int spiel_enclosure_dirs_create ( struct m0_conf_enclosure enclosure)
static

Create m0_conf_dir objects for m0_conf_enclosure.

Definition at line 809 of file conf_mgmt.c.

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

◆ spiel_enclosurev_dirs_create()

static int spiel_enclosurev_dirs_create ( struct m0_conf_objv objv)
static

Create m0_conf_dir objects for enclosure version.

Definition at line 858 of file conf_mgmt.c.

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

◆ spiel_endpoints_for_device_generic()

static int spiel_endpoints_for_device_generic ( struct m0_spiel_core *  spc,
const struct m0_fid drive,
struct m0_tl out 
)
static

Finds the node, which ‘drive’ belongs to, and collects endpoints of IOS-running processes of that node.

Definition at line 129 of file cmd.c.

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

◆ spiel_flip_fop_release()

static void spiel_flip_fop_release ( struct m0_ref ref)
static

Definition at line 331 of file conf_mgmt.c.

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

◆ spiel_flip_fop_send()

static int spiel_flip_fop_send ( struct m0_spiel_tx tx,
struct m0_spiel_load_command spiel_cmd 
)
static

Definition at line 336 of file conf_mgmt.c.

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

◆ spiel_fop_destroy()

static void spiel_fop_destroy ( struct m0_fop fop)
static

Definition at line 53 of file cmd.c.

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

◆ spiel_load_cmd_invariant()

static bool spiel_load_cmd_invariant ( struct m0_spiel_load_command cmd)
static

Definition at line 180 of file conf_mgmt.c.

Here is the caller graph for this function:

◆ spiel_load_fop_create()

static int spiel_load_fop_create ( struct m0_spiel_tx tx,
struct m0_spiel_load_command spiel_cmd 
)
static

Definition at line 256 of file conf_mgmt.c.

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

◆ spiel_load_fop_fini()

static void spiel_load_fop_fini ( struct m0_spiel_load_command spiel_cmd)
static

Finalizes a FOP for Spiel Load command.

Precondition
spiel_load_cmd_invariant(spiel_cmd)

Definition at line 206 of file conf_mgmt.c.

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

◆ spiel_load_fop_init()

static int spiel_load_fop_init ( struct m0_spiel_load_command spiel_cmd,
struct m0_spiel_tx tx 
)
static

Initializes a FOP for Spiel Load command.

Precondition
spiel_cmd != NULL.
tx != NULL.
Postcondition
spiel_load_cmd_invariant(spiel_cmd)

Definition at line 232 of file conf_mgmt.c.

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

◆ spiel_load_fop_release()

static void spiel_load_fop_release ( struct m0_ref ref)
static

Release a FOP for Spiel Load command.

Precondition
spiel_load_cmd_invariant(spiel_cmd)

Definition at line 218 of file conf_mgmt.c.

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

◆ spiel_load_fop_send()

static int spiel_load_fop_send ( struct m0_spiel_tx tx,
struct m0_spiel_load_command spiel_cmd 
)
static

Definition at line 291 of file conf_mgmt.c.

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

◆ spiel_node_dirs_create()

static int spiel_node_dirs_create ( struct m0_conf_node node)
static

Create m0_conf_dir objects for m0_conf_node.

Definition at line 751 of file conf_mgmt.c.

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

◆ spiel_node_process_endpoint_add()

static int spiel_node_process_endpoint_add ( struct m0_spiel_core *  spc,
struct m0_conf_obj node,
struct m0_tl list 
)
static

Definition at line 85 of file cmd.c.

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

◆ spiel_objv_remove()

static int spiel_objv_remove ( struct m0_conf_obj **  obj,
struct m0_conf_pver pver 
)
static

Definition at line 2033 of file conf_mgmt.c.

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

◆ spiel_pool__device_collection_fill()

static int spiel_pool__device_collection_fill ( struct _pool_cmd_ctx ctx,
const struct m0_fid pool_fid 
)
static

Definition at line 1194 of file cmd.c.

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

◆ spiel_pool_device_collect()

static int spiel_pool_device_collect ( struct _pool_cmd_ctx ctx,
struct m0_conf_obj obj_diskv 
)
static

Definition at line 1006 of file cmd.c.

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

◆ spiel_pool_dirs_create()

static int spiel_pool_dirs_create ( struct m0_conf_pool pool)
static

Create m0_conf_dir objects for m0_conf_pool.

Definition at line 778 of file conf_mgmt.c.

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

◆ spiel_pool_generic_handler()

static int spiel_pool_generic_handler ( struct m0_spiel_core *  spc,
const struct m0_fid pool_fid,
const enum m0_cm_op  cmd,
struct m0_spiel_repreb_status **  statuses,
enum m0_repreb_type  type 
)
static

Definition at line 1234 of file cmd.c.

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

◆ spiel_proc_conf_obj_find()

static int spiel_proc_conf_obj_find ( struct m0_spiel_core *  spc,
const struct m0_fid proc,
struct m0_conf_process **  out 
)
static

Definition at line 684 of file cmd.c.

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

◆ spiel_proc_counter_item_rlink_cb()

static bool spiel_proc_counter_item_rlink_cb ( struct m0_clink clink)
static

Definition at line 2114 of file cmd.c.

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

◆ spiel_proc_item_disconnect_ast()

static void spiel_proc_item_disconnect_ast ( struct m0_sm_group grp,
struct m0_sm_ast ast 
)
static

Definition at line 1832 of file cmd.c.

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

◆ spiel_proc_item_disconnect_cb()

static bool spiel_proc_item_disconnect_cb ( struct m0_clink clink)
static

Definition at line 1760 of file cmd.c.

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

◆ spiel_proc_item_postprocess()

static void spiel_proc_item_postprocess ( struct spiel_proc_item proc)
static

Definition at line 1749 of file cmd.c.

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

◆ spiel_proc_item_rlink_cb()

static bool spiel_proc_item_rlink_cb ( struct m0_clink clink)
static

Definition at line 1859 of file cmd.c.

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

◆ spiel_proc_sm_group()

static struct m0_sm_group* spiel_proc_sm_group ( const struct spiel_proc_item p)
static

Definition at line 1839 of file cmd.c.

Here is the caller graph for this function:

◆ spiel_process__counters_async()

static int spiel_process__counters_async ( struct spiel_proc_counter_item proc)
static

Definition at line 2173 of file cmd.c.

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

◆ spiel_process__health()

static int spiel_process__health ( struct m0_spiel_core *  spc,
const struct m0_fid proc_fid 
)
static

Definition at line 796 of file cmd.c.

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

◆ spiel_process__health_async()

static void spiel_process__health_async ( struct _fs_stats_ctx fsx,
struct spiel_proc_item proc 
)
static

Definition at line 1910 of file cmd.c.

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

◆ spiel_process_command()

static int spiel_process_command ( struct m0_spiel spl,
const struct m0_fid proc_fid,
int  cmd 
)
static

Definition at line 773 of file cmd.c.

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

◆ spiel_process_command_execute()

static int spiel_process_command_execute ( struct m0_spiel_core *  spc,
const struct m0_fid proc_fid,
int  cmd,
const struct m0_buf param,
struct m0_ss_process_rep ssp_rep 
)
static

When ssp_rep is not NULL, reply fop data will be copied there.

Definition at line 736 of file cmd.c.

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

◆ spiel_process_command_send()

static int spiel_process_command_send ( struct m0_spiel_core *  spc,
const struct m0_fid proc_fid,
struct m0_fop fop,
struct m0_rpc_link **  rlink 
)
static

Definition at line 699 of file cmd.c.

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

◆ spiel_process_counter_replied()

static void spiel_process_counter_replied ( struct m0_rpc_item item)
static

Definition at line 2099 of file cmd.c.

Here is the call graph for this function:

◆ spiel_process_counter_replied_ast()

static void spiel_process_counter_replied_ast ( struct m0_sm_group grp,
struct m0_sm_ast ast 
)
static

Definition at line 2050 of file cmd.c.

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

◆ spiel_process_dirs_create()

static int spiel_process_dirs_create ( struct m0_conf_process process)
static

Create m0_conf_dir objects for m0_conf_process.

Definition at line 760 of file conf_mgmt.c.

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

◆ spiel_process_disconnect_async()

static void spiel_process_disconnect_async ( struct spiel_proc_item proc)
static

Definition at line 1770 of file cmd.c.

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

◆ spiel_process_health_replied()

static void spiel_process_health_replied ( struct m0_rpc_item item)
static

Definition at line 1844 of file cmd.c.

Here is the call graph for this function:

◆ spiel_process_health_replied_ast()

static void spiel_process_health_replied_ast ( struct m0_sm_group grp,
struct m0_sm_ast ast 
)
static
Todo:
Need to understand if it would make sense from consumer's standpoint to interrupt stats collection here on a network error.

Definition at line 1783 of file cmd.c.

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

◆ spiel_process_reply_data()

static struct m0_ss_process_rep* spiel_process_reply_data ( struct m0_fop fop)
static

Definition at line 728 of file cmd.c.

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

◆ spiel_profile_pool_add()

static int spiel_profile_pool_add ( struct m0_conf_profile prof,
const struct m0_fid pool 
)
static

Definition at line 1275 of file conf_mgmt.c.

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

◆ spiel_pver_add()

static int spiel_pver_add ( struct m0_conf_obj **  obj_v,
struct m0_conf_pver pver 
)
static

Definition at line 1958 of file conf_mgmt.c.

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

◆ spiel_pver_delete()

static int spiel_pver_delete ( struct m0_conf_obj obj,
const struct m0_conf_pver pver 
)
static

Removes ‘pver’ element from m0_conf_pvers(obj).

Note
spiel_pver_delete() does not change the size of pvers array. If pvers has pver then after remove it pvers has two NULLs end.

Definition at line 2011 of file conf_mgmt.c.

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

◆ spiel_pver_dirs_create()

static int spiel_pver_dirs_create ( struct m0_conf_pver pver)
static

Create m0_conf_dir objects for m0_conf_pver.

Definition at line 827 of file conf_mgmt.c.

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

◆ spiel_pver_iterator()

static int spiel_pver_iterator ( struct m0_conf_obj dir,
struct m0_conf_pver pver,
int(*)(struct m0_conf_obj **, struct m0_conf_pver *)  action 
)
static

Definition at line 2047 of file conf_mgmt.c.

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

◆ spiel_pver_remove()

static void spiel_pver_remove ( struct m0_conf_cache cache,
struct m0_conf_pver pver 
)
static

Definition at line 2108 of file conf_mgmt.c.

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

◆ spiel_rack_dirs_create()

static int spiel_rack_dirs_create ( struct m0_conf_rack rack)
static

Create m0_conf_dir objects for m0_conf_rack

Definition at line 800 of file conf_mgmt.c.

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

◆ spiel_rackv_dirs_create()

static int spiel_rackv_dirs_create ( struct m0_conf_objv objv)
static

Create m0_conf_dir objects for rack version

Definition at line 849 of file conf_mgmt.c.

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

◆ spiel_repreb_cmd_send()

static int spiel_repreb_cmd_send ( struct m0_rpc_machine rmachine,
const char *  remote_ep,
struct spiel_repreb repreb 
)
static

Definition at line 939 of file cmd.c.

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

◆ spiel_repreb_fop_fill_and_send()

static int spiel_repreb_fop_fill_and_send ( struct m0_spiel_core *  spc,
struct m0_fop fop,
enum m0_cm_op  op,
struct spiel_repreb repreb 
)
static

Definition at line 978 of file cmd.c.

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

◆ spiel_root_conf_version()

static uint64_t spiel_root_conf_version ( struct m0_spiel_tx tx)
static

Definition at line 186 of file conf_mgmt.c.

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

◆ spiel_root_dirs_create()

static int spiel_root_dirs_create ( struct m0_conf_root r)
static

Create m0_conf_dir objects for m0_conf_root

Definition at line 732 of file conf_mgmt.c.

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

◆ spiel_root_ver_update()

static int spiel_root_ver_update ( struct m0_spiel_tx tx,
uint64_t  verno 
)
static

Overrides configuration version number originally set during m0_spiel_tx_open() and stored in root object.

Definition at line 84 of file conf_mgmt.c.

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

◆ spiel_rpc_link_destroy()

static void spiel_rpc_link_destroy ( struct m0_rpc_link rlink)
static

Definition at line 61 of file cmd.c.

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

◆ spiel_running_svcs_list_fill()

static int spiel_running_svcs_list_fill ( struct m0_bufs bufs,
struct m0_spiel_running_svc **  svcs 
)
static

Definition at line 829 of file cmd.c.

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

◆ spiel_rwlockable_write_domain_fini()

static void spiel_rwlockable_write_domain_fini ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 70 of file conf_mgmt.c.

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

◆ spiel_rwlockable_write_domain_init()

static int spiel_rwlockable_write_domain_init ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 65 of file conf_mgmt.c.

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

◆ spiel_service_dirs_create()

static int spiel_service_dirs_create ( struct m0_conf_service service)
static

Create m0_conf_dir objects for m0_conf_service.

Definition at line 769 of file conf_mgmt.c.

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

◆ spiel_site_dirs_create()

static int spiel_site_dirs_create ( struct m0_conf_site site)
static

Create m0_conf_dir objects for m0_conf_site

Definition at line 789 of file conf_mgmt.c.

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

◆ spiel_sitev_dirs_create()

static int spiel_sitev_dirs_create ( struct m0_conf_objv objv)
static

Create m0_conf_dir objects for site version

Definition at line 838 of file conf_mgmt.c.

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

◆ spiel_ss_ep_for_svc()

static int spiel_ss_ep_for_svc ( const struct m0_conf_service s,
char **  ss_ep 
)
static

Find endpoint of SSS service which accepts commands for given service

Definition at line 376 of file cmd.c.

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

◆ spiel_sss_reply_data()

static struct m0_sss_rep* spiel_sss_reply_data ( struct m0_fop fop)
static

Definition at line 468 of file cmd.c.

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

◆ spiel_stats_item_add()

static int spiel_stats_item_add ( struct m0_tl tl,
const struct m0_fid fid 
)
static

Definition at line 909 of file cmd.c.

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

◆ spiel_str_to_file()

static int spiel_str_to_file ( char *  str,
const char *  filename 
)
static

Definition at line 2145 of file conf_mgmt.c.

Here is the caller graph for this function:

◆ spiel_svc_conf_obj_find()

static int spiel_svc_conf_obj_find ( struct m0_spiel_core *  spc,
const struct m0_fid svc,
struct m0_conf_service **  out 
)
static

Definition at line 394 of file cmd.c.

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

◆ spiel_svc_fop_alloc()

static struct m0_fop* spiel_svc_fop_alloc ( struct m0_rpc_machine mach)
static

Definition at line 463 of file cmd.c.

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

◆ spiel_svc_fop_fill()

static int spiel_svc_fop_fill ( struct m0_fop fop,
struct m0_conf_service svc,
uint32_t  cmd 
)
static

Definition at line 410 of file cmd.c.

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

◆ spiel_svc_fop_fill_and_send()

static int spiel_svc_fop_fill_and_send ( struct m0_spiel_core *  spc,
struct m0_fop fop,
const struct m0_fid svc_fid,
uint32_t  cmd,
struct m0_rpc_link **  rlink 
)
static

Definition at line 431 of file cmd.c.

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

◆ spiel_svc_generic_handler()

static int spiel_svc_generic_handler ( struct m0_spiel_core *  spc,
const struct m0_fid svc_fid,
enum m0_sss_req_cmd  cmd,
int *  status 
)
static

Definition at line 476 of file cmd.c.

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

◆ spiel_tx_dump()

static int spiel_tx_dump ( struct m0_spiel_tx tx,
uint64_t  ver_forced,
const char *  filename,
bool  debug 
)
static

Definition at line 2188 of file conf_mgmt.c.

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

◆ spiel_tx_to_str()

static int spiel_tx_to_str ( struct m0_spiel_tx tx,
uint64_t  ver_forced,
char **  str,
bool  debug 
)
static

Definition at line 2162 of file conf_mgmt.c.

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

◆ spiel_tx_write_lock_complete()

static void spiel_tx_write_lock_complete ( struct m0_rm_incoming in,
int32_t  rc 
)
static

Definition at line 444 of file conf_mgmt.c.

Here is the call graph for this function:

◆ spiel_tx_write_lock_conflict()

static void spiel_tx_write_lock_conflict ( struct m0_rm_incoming in)
static

Definition at line 455 of file conf_mgmt.c.

◆ spiel_tx_write_lock_get()

static int spiel_tx_write_lock_get ( struct m0_spiel_tx tx)
static

Definition at line 524 of file conf_mgmt.c.

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

◆ spiel_tx_write_lock_put()

static void spiel_tx_write_lock_put ( struct m0_spiel_tx tx)
static

Definition at line 576 of file conf_mgmt.c.

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

◆ wlock_ctx_connect()

static int wlock_ctx_connect ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 416 of file conf_mgmt.c.

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

◆ wlock_ctx_create()

static int wlock_ctx_create ( struct m0_spiel spl)
static

Definition at line 377 of file conf_mgmt.c.

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

◆ wlock_ctx_creditor_setup()

static void wlock_ctx_creditor_setup ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 465 of file conf_mgmt.c.

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

◆ wlock_ctx_creditor_unset()

static void wlock_ctx_creditor_unset ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 494 of file conf_mgmt.c.

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

◆ wlock_ctx_destroy()

static void wlock_ctx_destroy ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 405 of file conf_mgmt.c.

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

◆ wlock_ctx_disconnect()

static void wlock_ctx_disconnect ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 428 of file conf_mgmt.c.

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

◆ wlock_ctx_owner_windup()

static void wlock_ctx_owner_windup ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 511 of file conf_mgmt.c.

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

◆ wlock_ctx_semaphore_down()

static void wlock_ctx_semaphore_down ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 504 of file conf_mgmt.c.

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

◆ wlock_ctx_semaphore_init()

static int wlock_ctx_semaphore_init ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 367 of file conf_mgmt.c.

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

◆ wlock_ctx_semaphore_up()

static void wlock_ctx_semaphore_up ( struct m0_spiel_wlock_ctx wlx)
static

Definition at line 372 of file conf_mgmt.c.

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

Variable Documentation

◆ spiel_process_counter_ops

struct m0_rpc_item_ops spiel_process_counter_ops
Initial value:
= {
}
static void spiel_process_counter_replied(struct m0_rpc_item *item)
Definition: cmd.c:2099

Definition at line 2110 of file cmd.c.

◆ spiel_process_health_ops

struct m0_rpc_item_ops spiel_process_health_ops
Initial value:
= {
}
static void spiel_process_health_replied(struct m0_rpc_item *item)
Definition: cmd.c:1844

Definition at line 1855 of file cmd.c.

◆ spiel_tx_ri_ops

struct m0_rm_incoming_ops spiel_tx_ri_ops
static
Initial value:
= {
}
static void spiel_tx_write_lock_complete(struct m0_rm_incoming *in, int32_t rc)
Definition: conf_mgmt.c:444
static void spiel_tx_write_lock_conflict(struct m0_rm_incoming *in)
Definition: conf_mgmt.c:455

Definition at line 460 of file conf_mgmt.c.