DAOS API (v2.1 - dev)
Loading...
Searching...
No Matches
daos_cont.h
Go to the documentation of this file.
1/*
2 * (C) Copyright 2020-2022 Intel Corporation.
3 *
4 * SPDX-License-Identifier: BSD-2-Clause-Patent
5 */
12#ifndef __DAOS_CONT_H__
13#define __DAOS_CONT_H__
14
16#define daos_cont_open daos_cont_open2
18#define daos_cont_destroy daos_cont_destroy2
20#define daos_cont_create daos_cont_create2
21
22#if defined(__cplusplus)
23extern "C" {
24#endif
25
26#include <daos_security.h>
27
29#define DAOS_COO_RO (1U << 0)
30
32#define DAOS_COO_RW (1U << 1)
33
35#define DAOS_COO_NOSLIP (1U << 2)
36
40#define DAOS_COO_FORCE (1U << 3)
41
43#define DAOS_COO_NBITS (4)
44
46#define DAOS_COO_MASK ((1U << DAOS_COO_NBITS) - 1)
47
49typedef struct {
51 uuid_t ci_uuid;
53 daos_epoch_t ci_lsnapshot;
55 uint32_t ci_redun_fac;
57 uint32_t ci_nsnapshots;
59 uint64_t ci_pad[2];
60 /* TODO: add more members, e.g., size, # objects, uid, gid... */
62
75d_rank_list_t *daos_rank_list_parse(const char *str, const char *sep);
76
97int
99
114int
116
117/*
118 * Container API
119 */
120
144int
145daos_cont_create(daos_handle_t poh, uuid_t *uuid, daos_prop_t *cont_prop, daos_event_t *ev);
146
171int
173 daos_prop_t *cont_prop, uuid_t *uuid,
174 daos_event_t *ev);
175
199int
200daos_cont_open(daos_handle_t poh, const char *cont, unsigned int flags, daos_handle_t *coh,
201 daos_cont_info_t *info, daos_event_t *ev);
202
218int
220
246int
247daos_cont_destroy(daos_handle_t poh, const char *cont, int force, daos_event_t *ev);
248
278int
280 daos_prop_t *cont_prop, daos_event_t *ev);
281
301int
303
320int
322
338int
340
357int
359 daos_event_t *ev);
360
381int
383
404int
406 d_string_t name, daos_event_t *ev);
407
426int
427daos_cont_set_owner(daos_handle_t coh, d_string_t user, d_string_t group,
428 daos_event_t *ev);
429
446int
447daos_cont_list_attr(daos_handle_t coh, char *buffer, size_t *size,
448 daos_event_t *ev);
449
468int
469daos_cont_get_attr(daos_handle_t coh, int n, char const *const names[],
470 void *const buffers[], size_t sizes[], daos_event_t *ev);
471
484int
485daos_cont_set_attr(daos_handle_t coh, int n, char const *const names[],
486 void const *const values[], size_t const sizes[],
487 daos_event_t *ev);
488
507int
508daos_cont_del_attr(daos_handle_t coh, int n, char const *const names[],
509 daos_event_t *ev);
510
533int
534daos_cont_alloc_oids(daos_handle_t coh, daos_size_t num_oids, uint64_t *oid,
535 daos_event_t *ev);
536
546int
547daos_cont_aggregate(daos_handle_t coh, daos_epoch_t epoch, daos_event_t *ev);
548
557int
558daos_cont_rollback(daos_handle_t coh, daos_epoch_t epoch, daos_event_t *ev);
559
576int
577daos_cont_subscribe(daos_handle_t coh, daos_epoch_t *epoch, daos_event_t *ev);
578
580#define DAOS_SNAPSHOT_MAX_LEN 128
581
595int
596daos_cont_create_snap(daos_handle_t coh, daos_epoch_t *epoch, char *name,
597 daos_event_t *ev);
598
606
622int
623daos_cont_create_snap_opt(daos_handle_t coh, daos_epoch_t *epoch, char *name,
624 enum daos_snapshot_opts opts, daos_event_t *ev);
625
645int
646daos_cont_list_snap(daos_handle_t coh, int *nr, daos_epoch_t *epochs,
647 char **names, daos_anchor_t *anchor, daos_event_t *ev);
648
662int
664 daos_event_t *ev);
665
666#if defined(__cplusplus)
667}
668#endif /* __cplusplus */
669#endif /* __DAOS_CONT_H__ */
int daos_cont_create_snap(daos_handle_t coh, daos_epoch_t *epoch, char *name, daos_event_t *ev)
int daos_cont_set_attr(daos_handle_t coh, int n, char const *const names[], void const *const values[], size_t const sizes[], daos_event_t *ev)
int daos_cont_delete_acl(daos_handle_t coh, enum daos_acl_principal_type type, d_string_t name, daos_event_t *ev)
int daos_cont_del_attr(daos_handle_t coh, int n, char const *const names[], daos_event_t *ev)
int daos_cont_list_attr(daos_handle_t coh, char *buffer, size_t *size, daos_event_t *ev)
int daos_cont_update_acl(daos_handle_t coh, struct daos_acl *acl, daos_event_t *ev)
int daos_cont_local2global(daos_handle_t coh, d_iov_t *glob)
int daos_cont_set_owner(daos_handle_t coh, d_string_t user, d_string_t group, daos_event_t *ev)
int daos_cont_overwrite_acl(daos_handle_t coh, struct daos_acl *acl, daos_event_t *ev)
#define daos_cont_destroy
Definition daos_cont.h:18
int daos_cont_close(daos_handle_t coh, daos_event_t *ev)
int daos_cont_get_acl(daos_handle_t coh, daos_prop_t **acl_prop, daos_event_t *ev)
int daos_cont_query(daos_handle_t coh, daos_cont_info_t *info, daos_prop_t *cont_prop, daos_event_t *ev)
int daos_cont_destroy_snap(daos_handle_t coh, daos_epoch_range_t epr, daos_event_t *ev)
int daos_cont_list_snap(daos_handle_t coh, int *nr, daos_epoch_t *epochs, char **names, daos_anchor_t *anchor, daos_event_t *ev)
int daos_cont_create_snap_opt(daos_handle_t coh, daos_epoch_t *epoch, char *name, enum daos_snapshot_opts opts, daos_event_t *ev)
d_rank_list_t * daos_rank_list_parse(const char *str, const char *sep)
int daos_cont_aggregate(daos_handle_t coh, daos_epoch_t epoch, daos_event_t *ev)
int daos_cont_alloc_oids(daos_handle_t coh, daos_size_t num_oids, uint64_t *oid, daos_event_t *ev)
int daos_cont_global2local(daos_handle_t poh, d_iov_t glob, daos_handle_t *coh)
daos_snapshot_opts
Definition daos_cont.h:600
@ DAOS_SNAP_OPT_CR
Definition daos_cont.h:602
@ DAOS_SNAP_OPT_OIT
Definition daos_cont.h:604
int daos_cont_create_with_label(daos_handle_t poh, const char *label, daos_prop_t *cont_prop, uuid_t *uuid, daos_event_t *ev)
int daos_cont_get_attr(daos_handle_t coh, int n, char const *const names[], void *const buffers[], size_t sizes[], daos_event_t *ev)
int daos_cont_rollback(daos_handle_t coh, daos_epoch_t epoch, daos_event_t *ev)
#define daos_cont_open
Definition daos_cont.h:16
int daos_cont_status_clear(daos_handle_t coh, daos_event_t *ev)
#define daos_cont_create
Definition daos_cont.h:20
int daos_cont_set_prop(daos_handle_t coh, daos_prop_t *prop, daos_event_t *ev)
int daos_cont_subscribe(daos_handle_t coh, daos_epoch_t *epoch, daos_event_t *ev)
daos_acl_principal_type
uint32_t ci_redun_fac
Definition daos_cont.h:55
daos_epoch_t ci_lsnapshot
Definition daos_cont.h:53
uint32_t ci_nsnapshots
Definition daos_cont.h:57