diff options
author | Mark Johnston <markj@FreeBSD.org> | 2023-10-23 15:05:50 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2023-10-25 16:55:46 +0000 |
commit | 333d3a18434bac1be2d3d527b091c95e04124603 (patch) | |
tree | fe802572c08eeeb914974158fd6657fce8a2f637 | |
parent | a2c17b534d37467d51c865a0830d9186b1aa8a98 (diff) | |
download | src-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.h | 15 |
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; |