git: 333d3a18434b - releng/14.0 - boot/zfs: Add some fields to dsl_dir_phys_t
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 25 Oct 2023 16:56:43 UTC
The branch releng/14.0 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=333d3a18434bac1be2d3d527b091c95e04124603
commit 333d3a18434bac1be2d3d527b091c95e04124603
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-10-23 15:05:50 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-10-25 16:55:46 +0000
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)
---
sys/cddl/boot/zfs/zfsimpl.h | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
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;