mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 10:37:35 +03:00
dnode: remove dn_dirty_txg and DNODE_IS_DIRTY
dn_dirty_txg only existed for DNODE_IS_DIRTY(). In turn, that only existed to ensure that a dnode was clean before making it eligible for removal from the array of cached dnodes attached to the object 0 L0 dbuf. dn_dirtycnt is enough to check that now, so use it directly and remove the rest. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Robert Evans <evansr@google.com> Reviewed-by: Adam Moss <c@yotes.com> Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Closes #16297 Closes #17652 Closes #17658
This commit is contained in:
committed by
Brian Behlendorf
parent
f3e49b0cf5
commit
eecff1b4a9
@@ -168,7 +168,6 @@ extern "C" {
|
||||
* dn_allocated_txg
|
||||
* dn_free_txg
|
||||
* dn_assigned_txg
|
||||
* dn_dirty_txg
|
||||
* dn_dirtycnt
|
||||
* dd_assigned_tx
|
||||
* dn_notxholds
|
||||
|
||||
@@ -340,7 +340,6 @@ struct dnode {
|
||||
uint64_t dn_allocated_txg;
|
||||
uint64_t dn_free_txg;
|
||||
uint64_t dn_assigned_txg;
|
||||
uint64_t dn_dirty_txg; /* txg dnode was last dirtied */
|
||||
uint8_t dn_dirtycnt;
|
||||
kcondvar_t dn_notxholds;
|
||||
kcondvar_t dn_nodnholds;
|
||||
@@ -469,9 +468,6 @@ void dnode_free_interior_slots(dnode_t *dn);
|
||||
|
||||
void dnode_set_storage_type(dnode_t *dn, dmu_object_type_t type);
|
||||
|
||||
#define DNODE_IS_DIRTY(_dn) \
|
||||
((_dn)->dn_dirty_txg >= spa_syncing_txg((_dn)->dn_objset->os_spa))
|
||||
|
||||
#define DNODE_LEVEL_IS_CACHEABLE(_dn, _level) \
|
||||
((_dn)->dn_objset->os_primary_cache == ZFS_CACHE_ALL || \
|
||||
(((_level) > 0 || DMU_OT_IS_METADATA((_dn)->dn_type)) && \
|
||||
|
||||
Reference in New Issue
Block a user