Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Oct 2023 16:56:43 GMT
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 333d3a18434b - releng/14.0 - boot/zfs: Add some fields to dsl_dir_phys_t
Message-ID:  <202310251656.39PGuhLw022010@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202310251656.39PGuhLw022010>