10#ifndef __DAOS_POOL_H__
11#define __DAOS_POOL_H__
13#define daos_pool_connect daos_pool_connect2
15#if defined(__cplusplus)
49enum daos_media_type_t {
91enum daos_rebuild_state_t {
98enum daos_rebuild_status_flag {
100 DAOS_RSF_DEGRADED = (1 << 0),
154enum daos_pool_info_bit {
156 DPI_SPACE = 1ULL << 0,
158 DPI_REBUILD_STATUS = 1ULL << 1,
160 DPI_ENGINES_ENABLED = 1ULL << 2,
162 DPI_ENGINES_DISABLED = 1ULL << 3,
164 DPI_ENGINES_DEAD = 1ULL << 4,
166 DPI_REBUILD_MAX_LAYOUT_VER = 1ULL << 5,
168 DPI_SELF_HEAL_POLICY = 1ULL << 6,
242daos_pool_connect(
const char *pool,
const char *sys,
unsigned int flags,
365daos_pool_query_target(
daos_handle_t poh, uint32_t tgt, d_rank_t rank,
386daos_pool_list_attr(
daos_handle_t poh,
char *buffer,
size_t *size,
408daos_pool_get_attr(
daos_handle_t poh,
int n,
char const *
const names[],
409 void *
const buffers[],
size_t sizes[], daos_event_t *ev);
424daos_pool_set_attr(
daos_handle_t poh,
int n,
char const *
const names[],
425 void const *
const values[],
size_t const sizes[],
447daos_pool_del_attr(
daos_handle_t poh,
int n,
char const *
const names[],
472enum daos_pool_cont_filter_func {
490static inline const char *
491daos_pool_cont_filter_func_str(
enum daos_pool_cont_filter_func f)
512enum daos_pool_cont_filter_key {
514 PCF_KEY_MD_OTIME = 0,
518 PCF_KEY_NUM_SNAPSHOTS,
525static inline const char *
526daos_pool_cont_filter_key_str(
enum daos_pool_cont_filter_key k)
529 case PCF_KEY_MD_OTIME:
530 return "md_open_time";
531 case PCF_KEY_MD_MTIME:
532 return "md_modify_time";
533 case PCF_KEY_NUM_SNAPSHOTS:
534 return "num_snapshots";
535 case PCF_KEY_NUM_HANDLES:
536 return "num_handles";
553 d_string_t pcfp_valstr;
555} daos_pool_cont_filter_part_t;
558enum daos_pool_cont_filter_combine {
560 PCF_COMBINE_LOGICAL_AND = 0,
562 PCF_COMBINE_LOGICAL_OR,
573} daos_pool_cont_filter_t;
576#define DAOS_POOL_CONT_FILTER_MAX_NPARTS (8)
582daos_pool_cont_filter_init(daos_pool_cont_filter_t *filt, uint32_t combine_func);
589daos_pool_cont_filter_add(daos_pool_cont_filter_t *filt, daos_pool_cont_filter_part_t *part);
593daos_pool_cont_filter_fini(daos_pool_cont_filter_t *filt);
618daos_pool_filter_cont(
daos_handle_t poh, daos_pool_cont_filter_t *filter,
637daos_pool_get_perms(
daos_prop_t *pool_prop, uid_t uid, gid_t *gids,
size_t nr_gids,
640#if defined(__cplusplus)
struct daos_pool_cont_filter_part ** pcf_parts
uint32_t pcf_combine_func
daos_cont_info_t pci_cinfo
struct daos_pool_cont_info pci_id
char pci_label[DAOS_PROP_LABEL_MAX_LEN+1]
struct daos_pool_space pi_space
struct daos_rebuild_status pi_rebuild_st
struct daos_space ps_space
uint64_t ps_free_max[DAOS_MEDIA_MAX]
uint64_t ps_free_mean[DAOS_MEDIA_MAX]
uint64_t ps_free_min[DAOS_MEDIA_MAX]
uint64_t rs_toberb_obj_nr
uint16_t rs_max_supported_layout_ver
uint64_t s_total[DAOS_MEDIA_MAX]
uint64_t s_free[DAOS_MEDIA_MAX]
daos_target_perf_t ta_perf
daos_target_state_t ta_state
struct daos_space ta_space