Motr  M0
ag.c File Reference
#include "lib/trace.h"
#include "lib/memory.h"
#include "lib/errno.h"
#include "lib/misc.h"
#include "lib/finject.h"
#include "fid/fid.h"
#include "ioservice/io_service.h"
#include "reqh/reqh.h"
#include "sns/parity_repair.h"
#include "sns/cm/cm_utils.h"
#include "sns/cm/ag.h"
#include "sns/cm/cp.h"
#include "sns/cm/cm.h"
#include "sns/cm/iter.h"
#include "sns/cm/file.h"
#include "cm/proxy.h"
Include dependency graph for ag.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_SNSCM
 

Enumerations

enum  ag_iter_state {
  AIS_FID_NEXT, AIS_FID_LOCK, AIS_FID_ATTR, AIS_GROUP_NEXT,
  AIS_FINI, AIS_NR
}
 

Functions

static enum ag_iter_state ai_state (struct m0_sns_cm_ag_iter *ai)
 
static struct m0_sns_cmai2sns (struct m0_sns_cm_ag_iter *ai)
 
static void ai_state_set (struct m0_sns_cm_ag_iter *ai, int state)
 
static bool _is_fid_valid (struct m0_sns_cm_ag_iter *ai, struct m0_fid *fid)
 
static int ai_group_next (struct m0_sns_cm_ag_iter *ai)
 
static int ai_fid_attr (struct m0_sns_cm_ag_iter *ai)
 
static int __file_lock (struct m0_sns_cm *scm, const struct m0_fid *fid, struct m0_sns_cm_file_ctx **fctx)
 
static int ai_pm_set (struct m0_sns_cm_ag_iter *ai, struct m0_fid *pv_id)
 
static int ai_fid_lock (struct m0_sns_cm_ag_iter *ai)
 
static int ai_fid_next (struct m0_sns_cm_ag_iter *ai)
 
M0_INTERNAL int m0_sns_cm_ag__next (struct m0_sns_cm *scm, const struct m0_cm_ag_id *id_curr, struct m0_cm_ag_id *id_next)
 
M0_INTERNAL int m0_sns_cm_ag_iter_init (struct m0_sns_cm_ag_iter *ai)
 
M0_INTERNAL void m0_sns_cm_ag_iter_fini (struct m0_sns_cm_ag_iter *ai)
 
M0_INTERNAL struct m0_cmsnsag2cm (const struct m0_sns_cm_ag *sag)
 
M0_INTERNAL struct m0_sns_cm_agag2snsag (const struct m0_cm_aggr_group *ag)
 
M0_INTERNAL void m0_sns_cm_ag_agid_setup (const struct m0_fid *gob_fid, uint64_t group, struct m0_cm_ag_id *agid)
 
M0_INTERNAL void agid2fid (const struct m0_cm_ag_id *id, struct m0_fid *fid)
 
M0_INTERNAL uint64_t agid2group (const struct m0_cm_ag_id *id)
 
M0_INTERNAL uint64_t m0_sns_cm_ag_local_cp_nr (const struct m0_cm_aggr_group *ag)
 
M0_INTERNAL void m0_sns_cm_ag_fini (struct m0_sns_cm_ag *sag)
 
M0_INTERNAL int m0_sns_cm_ag_init (struct m0_sns_cm_ag *sag, struct m0_cm *cm, const struct m0_cm_ag_id *id, const struct m0_cm_aggr_group_ops *ag_ops, bool has_incoming)
 
M0_INTERNAL bool m0_sns_cm_ag_has_incoming_from (struct m0_cm_aggr_group *ag, struct m0_cm_proxy *proxy)
 
static bool ag_id_is_in (const struct m0_cm_ag_id *id, const struct m0_cm_sw *interval)
 
M0_INTERNAL bool m0_sns_cm_ag_is_frozen_on (struct m0_cm_aggr_group *ag, struct m0_cm_proxy *pxy)
 
M0_INTERNAL bool m0_sns_cm_ag_has_data (struct m0_sns_cm_file_ctx *fctx, uint64_t group)
 

Variables

static struct m0_sm_state_descr ai_sd [AIS_NR]
 
static const struct m0_sm_conf ai_sm_conf
 
static int(* ai_action [])(struct m0_sns_cm_ag_iter *ai)
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_SNSCM

Definition at line 23 of file ag.c.