aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2023-10-23 15:05:50 +0000
committerMark Johnston <markj@FreeBSD.org>2023-10-25 16:55:46 +0000
commit333d3a18434bac1be2d3d527b091c95e04124603 (patch)
treefe802572c08eeeb914974158fd6657fce8a2f637
parenta2c17b534d37467d51c865a0830d9186b1aa8a98 (diff)
downloadsrc-333d3a18434bac1be2d3d527b091c95e04124603.tar.gz
src-333d3a18434bac1be2d3d527b091c95e04124603.zip
boot/zfs: Add some fields to dsl_dir_phys_t
Most of the first block of pad bytes are now used for space accounting purposes. No functional change intended. Approved by: re (gjb) MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit 731b737107e329cef32efb79847633b03a73cc30)
-rw-r--r--sys/cddl/boot/zfs/zfsimpl.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/cddl/boot/zfs/zfsimpl.h b/sys/cddl/boot/zfs/zfsimpl.h
index 843565607a49..fcaf407bcb75 100644
--- a/sys/cddl/boot/zfs/zfsimpl.h
+++ b/sys/cddl/boot/zfs/zfsimpl.h
@@ -1406,6 +1406,17 @@ typedef enum {
#define SM2_RUN_MAX SM2_RUN_DECODE(~0ULL)
#define SM2_OFFSET_MAX SM2_OFFSET_DECODE(~0ULL)
+typedef enum dd_used {
+ DD_USED_HEAD,
+ DD_USED_SNAP,
+ DD_USED_CHILD,
+ DD_USED_CHILD_RSRV,
+ DD_USED_REFRSRV,
+ DD_USED_NUM
+} dd_used_t;
+
+#define DD_FLAG_USED_BREAKDOWN (1 << 0)
+
typedef struct dsl_dir_phys {
uint64_t dd_creation_time; /* not actually used */
uint64_t dd_head_dataset_obj;
@@ -1424,7 +1435,9 @@ typedef struct dsl_dir_phys {
/* Administrative reservation setting */
uint64_t dd_reserved;
uint64_t dd_props_zapobj;
- uint64_t dd_pad[7];
+ uint64_t dd_pad[1];
+ uint64_t dd_flags;
+ uint64_t dd_used_breakdown[DD_USED_NUM];
uint64_t dd_clones;
uint64_t dd_pad1[13]; /* pad out to 256 bytes for good measure */
} dsl_dir_phys_t;