23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CLIENT 36 #define ST_VAL_STRING ("Client Index Test.") 116 for (
i = 0;
i < nr_kvp;
i++) {
121 klen = strlen(tmp_str);
130 memcpy(key_str, tmp_str, klen);
153 int nr_kvp,
bool dont_fini_op,
154 struct m0_op **op_out,
181 memset(idx, 0,
sizeof *idx);
198 if (
rc == 0 && dont_fini_op ==
true) {
212 if (
rc != 0 || idx_out ==
NULL) {
222 bool dont_fini_op,
struct m0_op **op_out,
232 memset(idx, 0,
sizeof *idx);
253 if (
rc == 0 && dont_fini_op ==
true) {
263 if (
rc != 0 || idx_out ==
NULL) {
288 id.u_lo = idx_fid.
f_key;
297 nr_kvp,
false,
NULL, idx_to_sync);
331 id.u_lo = idx_fid.
f_key;
340 nr_kvp,
false,
NULL, idx_to_sync);
375 id.u_lo = idx_fid.
f_key;
384 true, op_to_sync, idx_to_sync);
417 id.u_lo = idx_fid.
f_key;
459 id.u_lo = idx_fid.
f_key;
473 true, op_to_sync, idx_to_sync);
534 #undef M0_TRACE_SUBSYSTEM
void st_idx_init(struct m0_idx *idx, struct m0_realm *parent, const struct m0_uint128 *id)
int st_entity_create(struct m0_fid *pool, struct m0_entity *entity, struct m0_op **op)
void st_idx_open(struct m0_entity *entity)
#define M0_ALLOC_ARR(arr, nr)
static struct m0_bufvec * idx_bufvec_alloc(int nr)
void st_op_free(struct m0_op *op)
static void isync_on_idx_delete(void)
const m0_time_t M0_TIME_NEVER
void st_idx_fini(struct m0_idx *idx)
static struct m0_uint128 prefix
int m0_sync_op_add(struct m0_op *sop, struct m0_op *op)
int st_idx_op(struct m0_idx *idx, enum m0_idx_opcode opcode, struct m0_bufvec *keys, struct m0_bufvec *vals, int *rcs, int flag, struct m0_op **op)
const struct m0_uint128 M0_UBER_REALM
static int idx_create_or_delete(int opcode, struct m0_uint128 id, bool dont_fini_op, struct m0_op **op_out, struct m0_idx **idx_out)
#define ST_ASSERT_FATAL(a)
static void idx_bufvec_free(struct m0_bufvec *bv)
M0_INTERNAL void m0_bufvec_free(struct m0_bufvec *bufvec)
struct m0_entity in_entity
struct m0_container st_isync_container
static int st_isync_init(void)
static void isync_on_op(void)
#define M0_FID_TINIT(type, container, key)
void st_container_init(struct m0_container *con, struct m0_realm *parent, const struct m0_uint128 *id, struct m0_client *instance)
struct m0_entity re_entity
int oid_get(struct m0_uint128 *oid)
struct st_suite st_suite_isync
int m0_sync_entity_add(struct m0_op *sop, struct m0_entity *ent)
void * m0_alloc(size_t size)
static void isync_error_handling(void)
int m0_sync_op_init(struct m0_op **sop)
void console_printf(const char *fmt,...)
static void isync_by_sync_op(void)
static void isync_on_kv_delete(void)
#define M0_ALLOC_PTR(ptr)
m0_time_t m0_time_from_now(uint64_t secs, long ns)
struct m0_client * st_get_instance()
static int start(struct m0_fom *fom)
void st_op_launch(struct m0_op **op, uint32_t nr)
static void m0_fi_enable_once(const char *func, const char *tag)
static int idx_fill_kv_pairs(struct m0_uint128 id, int start, struct m0_bufvec *keys, struct m0_bufvec *vals)
int st_entity_delete(struct m0_entity *entity, struct m0_op **op)
static int idx_add_or_del_kv_pairs(int opcode, struct m0_uint128 id, int nr_kvp, bool dont_fini_op, struct m0_op **op_out, struct m0_idx **idx_out)
int32_t st_op_wait(struct m0_op *op, uint64_t bits, m0_time_t to)
void st_op_fini(struct m0_op *op)
static int st_isync_fini(void)