DAOS API: src/include/daos_fs.h Source File

| DAOS API (v2.1 - dev)

Loading...
Searching...
No Matches
daos_fs.h
Go to the documentation of this file.
1/*
2 * (C) Copyright 2018-2024 Intel Corporation.
3 * (C) Copyright 2025 Hewlett Packard Enterprise Development LP
4 *
5 * SPDX-License-Identifier: BSD-2-Clause-Patent
6 */
16
17#ifndef __DAOS_FS_H__
18#define __DAOS_FS_H__
19
20#if defined(__cplusplus)
21extern "C" {
22#endif
23
24#include <dirent.h>
25#include <inttypes.h>
26#include <sys/stat.h>
27
28#include <daos_types.h>
29#include <daos_obj.h>
30#include <daos_obj_class.h>
31#include <daos_array.h>
32#include <daos_cont.h>
33
35#define DFS_MAX_NAME NAME_MAX
37#define DFS_MAX_PATH PATH_MAX
39#define DFS_MAX_FSIZE (~0ULL)
41#define DFS_DEFAULT_CHUNK_SIZE 1048576
43#define DFS_MAX_XATTR_NAME 255
45#define DFS_MAX_XATTR_LEN 65536
47#define DAOS_SUPER_MAGIC 0xDA05AD10
48
50 typedef struct dfs_obj dfs_obj_t;
52 typedef struct dfs dfs_t;
53
54/*
55 * Consistency modes of the DFS container. A container created with balanced
56 * mode, can only be accessed with balanced mode with dfs_mount. A container
57 * created with relaxed mode, can be accessed with either mode in the future.
58 *
59 * Reserve bit 3 in the access flags for dfs_mount() - bits 1 and 2 are used
60 * for read / write access (O_RDONLY, O_RDRW).
61 */
63#define DFS_BALANCED 4
65#define DFS_RELAXED 0
67#define DFS_RDONLY O_RDONLY
69#define DFS_RDWR O_RDWR
70
72 typedef struct {
74 uint64_t da_id;
76 daos_size_t da_chunk_size;
78 daos_oclass_id_t da_oclass_id;
80 daos_prop_t *da_props;
85 uint32_t da_mode;
87 daos_oclass_id_t da_dir_oclass_id;
89 daos_oclass_id_t da_file_oclass_id;
94 char da_hints[DAOS_CONT_HINT_MAX_LEN];
95} dfs_attr_t;
96
98 typedef struct {
100 daos_size_t iod_nr;
102 daos_range_t *iod_rgs;
103} dfs_iod_t;
104
106 typedef struct {
108 daos_oclass_id_t doi_oclass_id;
110 daos_size_t doi_chunk_size;
112 daos_oclass_id_t doi_dir_oclass_id;
114 daos_oclass_id_t doi_file_oclass_id;
116 daos_obj_id_t doi_oid;
117} dfs_obj_info_t;
118
128int
129dfs_init(void);
130
138int
139dfs_fini(void);
140
164int
165dfs_connect(const char *pool, const char *sys, const char *cont, int flags, dfs_attr_t *attr,
166 dfs_t **dfs);
167
176int
177dfs_disconnect(dfs_t *dfs);
178
195int
196dfs_destroy(const char *pool, const char *sys, const char *cont, int force, daos_event_t *ev);
197
211int
212dfs_cont_create(daos_handle_t poh, uuid_t *uuid, dfs_attr_t *attr, daos_handle_t *coh, dfs_t **dfs);
213
230int
231dfs_cont_create_with_label(daos_handle_t poh, const char *label, dfs_attr_t *attr,
232 uuid_t *uuid, daos_handle_t *coh, dfs_t **dfs);
233
249int
250dfs_mount(daos_handle_t poh, daos_handle_t coh, int flags, dfs_t **dfs);
251
261int
262dfs_umount(dfs_t *dfs);
263
273int
274dfs_pool_get(dfs_t *dfs, daos_handle_t *poh);
275
284int
285dfs_pool_put(dfs_t *dfs, daos_handle_t poh);
286
296int
297dfs_cont_get(dfs_t *dfs, daos_handle_t *coh);
298
307int
308dfs_cont_put(dfs_t *dfs, daos_handle_t coh);
309
318int
319dfs_query(dfs_t *dfs, dfs_attr_t *attr);
320
333int
334dfs_local2global(dfs_t *dfs, d_iov_t *glob);
335
350int
351dfs_global2local(daos_handle_t poh, daos_handle_t coh, int flags, d_iov_t glob,
352 dfs_t **dfs);
353
365int
366dfs_local2global_all(dfs_t *dfs, d_iov_t *glob);
367
379int
380dfs_global2local_all(int flags, d_iov_t glob, dfs_t **dfs);
381
394int
395dfs_set_prefix(dfs_t *dfs, const char *prefix);
396
405int
406dfs_obj2id(dfs_obj_t *obj, daos_obj_id_t *oid);
407
421int
422dfs_lookup(dfs_t *dfs, const char *path, int flags, dfs_obj_t **obj,
423 mode_t *mode, struct stat *stbuf);
424
444int
445dfs_lookup_rel(dfs_t *dfs, dfs_obj_t *parent, const char *name, int flags,
446 dfs_obj_t **obj, mode_t *mode, struct stat *stbuf);
447
460int
461dfs_suggest_oclass(dfs_t *dfs, const char *hint, daos_oclass_id_t *cid);
462
487int
488dfs_open(dfs_t *dfs, dfs_obj_t *parent, const char *name, mode_t mode,
489 int flags, daos_oclass_id_t cid, daos_size_t chunk_size,
490 const char *value, dfs_obj_t **obj);
491
504int
505dfs_dup(dfs_t *dfs, dfs_obj_t *obj, int flags, dfs_obj_t **new_obj);
506
520int
521dfs_obj_local2global(dfs_t *dfs, dfs_obj_t *obj, d_iov_t *glob);
522
536int
537dfs_obj_global2local(dfs_t *dfs, int flags, d_iov_t glob, dfs_obj_t **obj);
538
546int
547dfs_release(dfs_obj_t *obj);
548
563int
564dfs_read(dfs_t *dfs, dfs_obj_t *obj, d_sg_list_t *sgl, daos_off_t off,
565 daos_size_t *read_size, daos_event_t *ev);
566
584int
585dfs_readx(dfs_t *dfs, dfs_obj_t *obj, dfs_iod_t *iod, d_sg_list_t *sgl,
586 daos_size_t *read_size, daos_event_t *ev);
587
600int
601dfs_write(dfs_t *dfs, dfs_obj_t *obj, d_sg_list_t *sgl, daos_off_t off,
602 daos_event_t *ev);
603
618int
619dfs_writex(dfs_t *dfs, dfs_obj_t *obj, dfs_iod_t *iod, d_sg_list_t *sgl,
620 daos_event_t *ev);
621
631int
632dfs_get_size(dfs_t *dfs, dfs_obj_t *obj, daos_size_t *size);
633
646int
647dfs_punch(dfs_t *dfs, dfs_obj_t *obj, daos_off_t offset, daos_size_t len);
648
667int
668dfs_readdir(dfs_t *dfs, dfs_obj_t *obj, daos_anchor_t *anchor, uint32_t *nr, struct dirent *dirs);
669
691int
692dfs_readdirplus(dfs_t *dfs, dfs_obj_t *obj, daos_anchor_t *anchor, uint32_t *nr,
693 struct dirent *dirs, struct stat *stbufs);
694
698 typedef int (*dfs_filler_cb_t)(dfs_t *dfs, dfs_obj_t *obj, const char name[], void *arg);
699
720int
721dfs_iterate(dfs_t *dfs, dfs_obj_t *obj, daos_anchor_t *anchor,
722 uint32_t *nr, size_t size, dfs_filler_cb_t op, void *arg);
723
734int
735dfs_dir_anchor_set(dfs_obj_t *obj, const char name[], daos_anchor_t *anchor);
736
757int
758dfs_obj_anchor_split(dfs_obj_t *obj, uint32_t *nr, daos_anchor_t *anchors);
759
772int
773dfs_obj_anchor_set(dfs_obj_t *obj, uint32_t index, daos_anchor_t *anchor);
774
786int
787dfs_mkdir(dfs_t *dfs, dfs_obj_t *parent, const char *name, mode_t mode,
788 daos_oclass_id_t cid);
789
803int
804dfs_remove(dfs_t *dfs, dfs_obj_t *parent, const char *name, bool force,
805 daos_obj_id_t *oid);
806
822int
823dfs_move(dfs_t *dfs, dfs_obj_t *parent, const char *name, dfs_obj_t *new_parent,
824 const char *new_name, daos_obj_id_t *oid);
825
837int
838dfs_exchange(dfs_t *dfs, dfs_obj_t *parent1, const char *name1, dfs_obj_t *parent2,
839 const char *name2);
840
849int
850dfs_get_mode(dfs_obj_t *obj, mode_t *mode);
851
862int
863dfs_obj_get_info(dfs_t *dfs, dfs_obj_t *obj, dfs_obj_info_t *info);
864
879int
880dfs_obj_set_oclass(dfs_t *dfs, dfs_obj_t *obj, int flags, daos_oclass_id_t cid);
881
895int
896dfs_obj_set_chunk_size(dfs_t *dfs, dfs_obj_t *obj, int flags, daos_size_t csize);
897
909int
910dfs_get_file_oh(dfs_obj_t *obj, daos_handle_t *oh);
911
921int
922dfs_get_chunk_size(dfs_obj_t *obj, daos_size_t *chunk_size);
923
937int
938dfs_get_symlink_value(dfs_obj_t *obj, char *buf, daos_size_t *size);
939
956int
957dfs_update_parent(dfs_obj_t *obj, dfs_obj_t *src_obj, const char *name);
958
980int
981dfs_stat(dfs_t *dfs, dfs_obj_t *parent, const char *name,
982 struct stat *stbuf);
983
993int
994dfs_ostat(dfs_t *dfs, dfs_obj_t *obj, struct stat *stbuf);
995
997#define DFS_SET_ATTR_MODE (1 << 0)
999#define DFS_SET_ATTR_ATIME (1 << 1)
1001#define DFS_SET_ATTR_MTIME (1 << 2)
1003#define DFS_SET_ATTR_SIZE (1 << 3)
1005#define DFS_SET_ATTR_UID (1 << 4)
1007#define DFS_SET_ATTR_GID (1 << 5)
1008
1026int
1027dfs_osetattr(dfs_t *dfs, dfs_obj_t *obj, struct stat *stbuf, int flags);
1028
1043int
1044dfs_access(dfs_t *dfs, dfs_obj_t *parent, const char *name, int mask);
1045
1058int
1059dfs_chmod(dfs_t *dfs, dfs_obj_t *parent, const char *name, mode_t mode);
1060
1077int
1078dfs_chown(dfs_t *dfs, dfs_obj_t *parent, const char *name, uid_t uid, gid_t gid, int flags);
1079
1090int
1091dfs_sync(dfs_t *dfs);
1092
1108int
1109dfs_setxattr(dfs_t *dfs, dfs_obj_t *obj, const char *name,
1110 const void *value, daos_size_t size, int flags);
1111
1125int
1126dfs_getxattr(dfs_t *dfs, dfs_obj_t *obj, const char *name, void *value,
1127 daos_size_t *size);
1128
1139int
1140dfs_removexattr(dfs_t *dfs, dfs_obj_t *obj, const char *name);
1141
1157int
1158dfs_listxattr(dfs_t *dfs, dfs_obj_t *obj, char *list, daos_size_t *size);
1159
1160
1161enum {
1163 DFS_CHECK_PRINT = (1 << 0),
1165 DFS_CHECK_REMOVE = (1 << 1),
1167 DFS_CHECK_RELINK = (1 << 2),
1169 DFS_CHECK_VERIFY = (1 << 3),
1171 DFS_CHECK_EVICT_ALL = (1 << 4),
1172};
1173
1190int
1191dfs_cont_check(daos_handle_t poh, const char *cont, uint64_t flags, const char *name);
1192
1205int
1206dfs_cont_set_owner(daos_handle_t coh, d_string_t user, uid_t uid, d_string_t group, gid_t gid);
1207
1208/*
1209 * The Pipeline DFS API (everything under this comment) is under heavy development and should not be
1210 * used in production. The API is subject to change.
1211 */
1212
1214 typedef struct dfs_pipeline dfs_pipeline_t;
1215
1216enum {
1217 DFS_FILTER_NAME = (1 << 1),
1218 DFS_FILTER_NEWER = (1 << 2),
1219 DFS_FILTER_INCLUDE_DIRS = (1 << 3),
1220};
1221
1223 typedef struct {
1225 char dp_name[DFS_MAX_NAME];
1227 time_t dp_newer;
1229 size_t dp_size;
1230} dfs_predicate_t;
1231
1245int
1246dfs_get_size_by_oid(dfs_t *dfs, daos_obj_id_t oid, daos_size_t chunk_size, daos_size_t *size);
1247
1259int
1260dfs_pipeline_create(dfs_t *dfs, dfs_predicate_t pred, uint64_t flags, dfs_pipeline_t **dpipe);
1261
1269int
1270dfs_pipeline_destroy(dfs_pipeline_t *dpipe);
1271
1301int
1302dfs_readdir_with_filter(dfs_t *dfs, dfs_obj_t *obj, dfs_pipeline_t *dpipe, daos_anchor_t *anchor,
1303 uint32_t *nr, struct dirent *dirs, daos_obj_id_t *oids, daos_size_t *csizes,
1304 uint64_t *nr_scanned);
1305
1316int
1317dfs_cont_scan(daos_handle_t poh, const char *cont, uint64_t flags, const char *name);
1318
1319#if defined(__cplusplus)
1320}
1321#endif /* __cplusplus */
1322#endif /* __DAOS_FS_H__ */
daos_array.h
daos_cont.h
DAOS_CONT_HINT_MAX_LEN
#define DAOS_CONT_HINT_MAX_LEN
Definition daos_cont.h:94
dfs_cont_create
int dfs_cont_create(daos_handle_t poh, uuid_t *uuid, dfs_attr_t *attr, daos_handle_t *coh, dfs_t **dfs)
dfs_writex
int dfs_writex(dfs_t *dfs, dfs_obj_t *obj, dfs_iod_t *iod, d_sg_list_t *sgl, daos_event_t *ev)
dfs_init
int dfs_init(void)
dfs_obj_get_info
int dfs_obj_get_info(dfs_t *dfs, dfs_obj_t *obj, dfs_obj_info_t *info)
dfs_destroy
int dfs_destroy(const char *pool, const char *sys, const char *cont, int force, daos_event_t *ev)
dfs_obj_anchor_set
int dfs_obj_anchor_set(dfs_obj_t *obj, uint32_t index, daos_anchor_t *anchor)
dfs_lookup_rel
int dfs_lookup_rel(dfs_t *dfs, dfs_obj_t *parent, const char *name, int flags, dfs_obj_t **obj, mode_t *mode, struct stat *stbuf)
dfs_get_mode
int dfs_get_mode(dfs_obj_t *obj, mode_t *mode)
dfs_remove
int dfs_remove(dfs_t *dfs, dfs_obj_t *parent, const char *name, bool force, daos_obj_id_t *oid)
dfs_cont_check
int dfs_cont_check(daos_handle_t poh, const char *cont, uint64_t flags, const char *name)
dfs_set_prefix
int dfs_set_prefix(dfs_t *dfs, const char *prefix)
dfs_connect
int dfs_connect(const char *pool, const char *sys, const char *cont, int flags, dfs_attr_t *attr, dfs_t **dfs)
dfs_release
int dfs_release(dfs_obj_t *obj)
dfs_global2local_all
int dfs_global2local_all(int flags, d_iov_t glob, dfs_t **dfs)
dfs_setxattr
int dfs_setxattr(dfs_t *dfs, dfs_obj_t *obj, const char *name, const void *value, daos_size_t size, int flags)
dfs_readdirplus
int dfs_readdirplus(dfs_t *dfs, dfs_obj_t *obj, daos_anchor_t *anchor, uint32_t *nr, struct dirent *dirs, struct stat *stbufs)
dfs_open
int dfs_open(dfs_t *dfs, dfs_obj_t *parent, const char *name, mode_t mode, int flags, daos_oclass_id_t cid, daos_size_t chunk_size, const char *value, dfs_obj_t **obj)
dfs_get_file_oh
int dfs_get_file_oh(dfs_obj_t *obj, daos_handle_t *oh)
dfs_disconnect
int dfs_disconnect(dfs_t *dfs)
dfs_mount
int dfs_mount(daos_handle_t poh, daos_handle_t coh, int flags, dfs_t **dfs)
dfs_cont_put
int dfs_cont_put(dfs_t *dfs, daos_handle_t coh)
dfs_obj_t
struct dfs_obj dfs_obj_t
Definition daos_fs.h:50
dfs_cont_create_with_label
int dfs_cont_create_with_label(daos_handle_t poh, const char *label, dfs_attr_t *attr, uuid_t *uuid, daos_handle_t *coh, dfs_t **dfs)
dfs_listxattr
int dfs_listxattr(dfs_t *dfs, dfs_obj_t *obj, char *list, daos_size_t *size)
dfs_getxattr
int dfs_getxattr(dfs_t *dfs, dfs_obj_t *obj, const char *name, void *value, daos_size_t *size)
dfs_pipeline_t
struct dfs_pipeline dfs_pipeline_t
Definition daos_fs.h:1214
dfs_osetattr
int dfs_osetattr(dfs_t *dfs, dfs_obj_t *obj, struct stat *stbuf, int flags)
dfs_query
int dfs_query(dfs_t *dfs, dfs_attr_t *attr)
dfs_stat
int dfs_stat(dfs_t *dfs, dfs_obj_t *parent, const char *name, struct stat *stbuf)
dfs_update_parent
int dfs_update_parent(dfs_obj_t *obj, dfs_obj_t *src_obj, const char *name)
dfs_readx
int dfs_readx(dfs_t *dfs, dfs_obj_t *obj, dfs_iod_t *iod, d_sg_list_t *sgl, daos_size_t *read_size, daos_event_t *ev)
dfs_get_symlink_value
int dfs_get_symlink_value(dfs_obj_t *obj, char *buf, daos_size_t *size)
dfs_chown
int dfs_chown(dfs_t *dfs, dfs_obj_t *parent, const char *name, uid_t uid, gid_t gid, int flags)
dfs_pipeline_destroy
int dfs_pipeline_destroy(dfs_pipeline_t *dpipe)
dfs_exchange
int dfs_exchange(dfs_t *dfs, dfs_obj_t *parent1, const char *name1, dfs_obj_t *parent2, const char *name2)
dfs_fini
int dfs_fini(void)
dfs_cont_set_owner
int dfs_cont_set_owner(daos_handle_t coh, d_string_t user, uid_t uid, d_string_t group, gid_t gid)
dfs_get_size
int dfs_get_size(dfs_t *dfs, dfs_obj_t *obj, daos_size_t *size)
dfs_obj2id
int dfs_obj2id(dfs_obj_t *obj, daos_obj_id_t *oid)
dfs_obj_local2global
int dfs_obj_local2global(dfs_t *dfs, dfs_obj_t *obj, d_iov_t *glob)
dfs_cont_scan
int dfs_cont_scan(daos_handle_t poh, const char *cont, uint64_t flags, const char *name)
dfs_pool_put
int dfs_pool_put(dfs_t *dfs, daos_handle_t poh)
dfs_get_size_by_oid
int dfs_get_size_by_oid(dfs_t *dfs, daos_obj_id_t oid, daos_size_t chunk_size, daos_size_t *size)
dfs_get_chunk_size
int dfs_get_chunk_size(dfs_obj_t *obj, daos_size_t *chunk_size)
dfs_removexattr
int dfs_removexattr(dfs_t *dfs, dfs_obj_t *obj, const char *name)
dfs_obj_set_chunk_size
int dfs_obj_set_chunk_size(dfs_t *dfs, dfs_obj_t *obj, int flags, daos_size_t csize)
dfs_punch
int dfs_punch(dfs_t *dfs, dfs_obj_t *obj, daos_off_t offset, daos_size_t len)
dfs_dup
int dfs_dup(dfs_t *dfs, dfs_obj_t *obj, int flags, dfs_obj_t **new_obj)
dfs_pipeline_create
int dfs_pipeline_create(dfs_t *dfs, dfs_predicate_t pred, uint64_t flags, dfs_pipeline_t **dpipe)
dfs_obj_global2local
int dfs_obj_global2local(dfs_t *dfs, int flags, d_iov_t glob, dfs_obj_t **obj)
dfs_chmod
int dfs_chmod(dfs_t *dfs, dfs_obj_t *parent, const char *name, mode_t mode)
dfs_obj_set_oclass
int dfs_obj_set_oclass(dfs_t *dfs, dfs_obj_t *obj, int flags, daos_oclass_id_t cid)
dfs_read
int dfs_read(dfs_t *dfs, dfs_obj_t *obj, d_sg_list_t *sgl, daos_off_t off, daos_size_t *read_size, daos_event_t *ev)
dfs_filler_cb_t
int(* dfs_filler_cb_t)(dfs_t *dfs, dfs_obj_t *obj, const char name[], void *arg)
Definition daos_fs.h:698
dfs_readdir_with_filter
int dfs_readdir_with_filter(dfs_t *dfs, dfs_obj_t *obj, dfs_pipeline_t *dpipe, daos_anchor_t *anchor, uint32_t *nr, struct dirent *dirs, daos_obj_id_t *oids, daos_size_t *csizes, uint64_t *nr_scanned)
dfs_access
int dfs_access(dfs_t *dfs, dfs_obj_t *parent, const char *name, int mask)
DFS_CHECK_RELINK
@ DFS_CHECK_RELINK
Definition daos_fs.h:1167
DFS_CHECK_REMOVE
@ DFS_CHECK_REMOVE
Definition daos_fs.h:1165
DFS_CHECK_PRINT
@ DFS_CHECK_PRINT
Definition daos_fs.h:1163
DFS_CHECK_EVICT_ALL
@ DFS_CHECK_EVICT_ALL
Definition daos_fs.h:1171
DFS_CHECK_VERIFY
@ DFS_CHECK_VERIFY
Definition daos_fs.h:1169
dfs_lookup
int dfs_lookup(dfs_t *dfs, const char *path, int flags, dfs_obj_t **obj, mode_t *mode, struct stat *stbuf)
dfs_write
int dfs_write(dfs_t *dfs, dfs_obj_t *obj, d_sg_list_t *sgl, daos_off_t off, daos_event_t *ev)
dfs_iterate
int dfs_iterate(dfs_t *dfs, dfs_obj_t *obj, daos_anchor_t *anchor, uint32_t *nr, size_t size, dfs_filler_cb_t op, void *arg)
dfs_dir_anchor_set
int dfs_dir_anchor_set(dfs_obj_t *obj, const char name[], daos_anchor_t *anchor)
dfs_umount
int dfs_umount(dfs_t *dfs)
dfs_readdir
int dfs_readdir(dfs_t *dfs, dfs_obj_t *obj, daos_anchor_t *anchor, uint32_t *nr, struct dirent *dirs)
dfs_suggest_oclass
int dfs_suggest_oclass(dfs_t *dfs, const char *hint, daos_oclass_id_t *cid)
dfs_global2local
int dfs_global2local(daos_handle_t poh, daos_handle_t coh, int flags, d_iov_t glob, dfs_t **dfs)
dfs_pool_get
int dfs_pool_get(dfs_t *dfs, daos_handle_t *poh)
dfs_move
int dfs_move(dfs_t *dfs, dfs_obj_t *parent, const char *name, dfs_obj_t *new_parent, const char *new_name, daos_obj_id_t *oid)
dfs_mkdir
int dfs_mkdir(dfs_t *dfs, dfs_obj_t *parent, const char *name, mode_t mode, daos_oclass_id_t cid)
dfs_cont_get
int dfs_cont_get(dfs_t *dfs, daos_handle_t *coh)
dfs_local2global
int dfs_local2global(dfs_t *dfs, d_iov_t *glob)
dfs_ostat
int dfs_ostat(dfs_t *dfs, dfs_obj_t *obj, struct stat *stbuf)
DFS_MAX_NAME
#define DFS_MAX_NAME
Definition daos_fs.h:35
dfs_obj_anchor_split
int dfs_obj_anchor_split(dfs_obj_t *obj, uint32_t *nr, daos_anchor_t *anchors)
dfs_sync
int dfs_sync(dfs_t *dfs)
dfs_t
struct dfs dfs_t
Definition daos_fs.h:52
dfs_local2global_all
int dfs_local2global_all(dfs_t *dfs, d_iov_t *glob)
daos_anchor_t
Definition daos_types.h:60
daos_handle_t
Definition daos_types.h:75
daos_obj_id_t
Definition daos_types.h:230
daos_prop_t
Definition daos_prop.h:646
daos_range_t
Definition daos_array.h:33
dfs_attr_t
Definition daos_fs.h:72
dfs_attr_t::da_hints
char da_hints[DAOS_CONT_HINT_MAX_LEN]
Definition daos_fs.h:94
dfs_attr_t::da_file_oclass_id
daos_oclass_id_t da_file_oclass_id
Definition daos_fs.h:89
dfs_attr_t::da_dir_oclass_id
daos_oclass_id_t da_dir_oclass_id
Definition daos_fs.h:87
dfs_attr_t::da_mode
uint32_t da_mode
Definition daos_fs.h:85
dfs_attr_t::da_props
daos_prop_t * da_props
Definition daos_fs.h:80
dfs_attr_t::da_id
uint64_t da_id
Definition daos_fs.h:74
dfs_attr_t::da_chunk_size
daos_size_t da_chunk_size
Definition daos_fs.h:76
dfs_attr_t::da_oclass_id
daos_oclass_id_t da_oclass_id
Definition daos_fs.h:78
dfs_iod_t
Definition daos_fs.h:98
dfs_iod_t::iod_rgs
daos_range_t * iod_rgs
Definition daos_fs.h:102
dfs_iod_t::iod_nr
daos_size_t iod_nr
Definition daos_fs.h:100
dfs_obj_info_t
Definition daos_fs.h:106
dfs_obj_info_t::doi_oid
daos_obj_id_t doi_oid
Definition daos_fs.h:116
dfs_obj_info_t::doi_oclass_id
daos_oclass_id_t doi_oclass_id
Definition daos_fs.h:108
dfs_obj_info_t::doi_dir_oclass_id
daos_oclass_id_t doi_dir_oclass_id
Definition daos_fs.h:112
dfs_obj_info_t::doi_chunk_size
daos_size_t doi_chunk_size
Definition daos_fs.h:110
dfs_obj_info_t::doi_file_oclass_id
daos_oclass_id_t doi_file_oclass_id
Definition daos_fs.h:114
dfs_predicate_t
Definition daos_fs.h:1223
dfs_predicate_t::dp_newer
time_t dp_newer
Definition daos_fs.h:1227
dfs_predicate_t::dp_name
char dp_name[DFS_MAX_NAME]
Definition daos_fs.h:1225
dfs_predicate_t::dp_size
size_t dp_size
Definition daos_fs.h:1229