1
2
3
4
5
6
7
8
9
10
11
12#ifndef _SYS_DMU_H
13#define _SYS_DMU_H
14
15
16
17
18
19
20
21
22typedef enum dmu_object_type {
23 DMU_OT_NONE,
24
25 DMU_OT_OBJECT_DIRECTORY,
26 DMU_OT_OBJECT_ARRAY,
27 DMU_OT_PACKED_NVLIST,
28 DMU_OT_PACKED_NVLIST_SIZE,
29 DMU_OT_BPLIST,
30 DMU_OT_BPLIST_HDR,
31
32 DMU_OT_SPACE_MAP_HEADER,
33 DMU_OT_SPACE_MAP,
34
35 DMU_OT_INTENT_LOG,
36
37 DMU_OT_DNODE,
38 DMU_OT_OBJSET,
39
40 DMU_OT_DSL_DIR,
41 DMU_OT_DSL_DIR_CHILD_MAP,
42 DMU_OT_DSL_DS_SNAP_MAP,
43 DMU_OT_DSL_PROPS,
44 DMU_OT_DSL_DATASET,
45
46 DMU_OT_ZNODE,
47 DMU_OT_OLDACL,
48 DMU_OT_PLAIN_FILE_CONTENTS,
49 DMU_OT_DIRECTORY_CONTENTS,
50 DMU_OT_MASTER_NODE,
51 DMU_OT_UNLINKED_SET,
52
53 DMU_OT_ZVOL,
54 DMU_OT_ZVOL_PROP,
55
56 DMU_OT_PLAIN_OTHER,
57 DMU_OT_UINT64_OTHER,
58 DMU_OT_ZAP_OTHER,
59
60 DMU_OT_ERROR_LOG,
61 DMU_OT_SPA_HISTORY,
62 DMU_OT_SPA_HISTORY_OFFSETS,
63 DMU_OT_POOL_PROPS,
64 DMU_OT_DSL_PERMS,
65 DMU_OT_ACL,
66 DMU_OT_SYSACL,
67 DMU_OT_FUID,
68 DMU_OT_FUID_SIZE,
69 DMU_OT_NEXT_CLONES,
70 DMU_OT_SCRUB_QUEUE,
71 DMU_OT_USERGROUP_USED,
72 DMU_OT_USERGROUP_QUOTA,
73 DMU_OT_USERREFS,
74 DMU_OT_DDT_ZAP,
75 DMU_OT_DDT_STATS,
76 DMU_OT_SA,
77 DMU_OT_SA_MASTER_NODE,
78 DMU_OT_SA_ATTR_REGISTRATION,
79 DMU_OT_SA_ATTR_LAYOUTS,
80 DMU_OT_NUMTYPES
81} dmu_object_type_t;
82
83typedef enum dmu_objset_type {
84 DMU_OST_NONE,
85 DMU_OST_META,
86 DMU_OST_ZFS,
87 DMU_OST_ZVOL,
88 DMU_OST_OTHER,
89 DMU_OST_ANY,
90 DMU_OST_NUMTYPES
91} dmu_objset_type_t;
92
93
94
95
96#define DMU_POOL_DIRECTORY_OBJECT 1
97#define DMU_POOL_CONFIG "config"
98#define DMU_POOL_ROOT_DATASET "root_dataset"
99#define DMU_POOL_SYNC_BPLIST "sync_bplist"
100#define DMU_POOL_ERRLOG_SCRUB "errlog_scrub"
101#define DMU_POOL_ERRLOG_LAST "errlog_last"
102#define DMU_POOL_SPARES "spares"
103#define DMU_POOL_DEFLATE "deflate"
104#define DMU_POOL_HISTORY "history"
105#define DMU_POOL_PROPS "pool_props"
106#define DMU_POOL_L2CACHE "l2cache"
107
108#endif
109