Motr
M0
|
#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"
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_cm * | ai2sns (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_cm * | snsag2cm (const struct m0_sns_cm_ag *sag) |
M0_INTERNAL struct m0_sns_cm_ag * | ag2snsag (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) |