Last active
July 7, 2016 23:42
-
-
Save pcd1193182/2c0cd47211f3aee623958b4698836c48 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/usr/src/uts/common/fs/zfs/dmu_traverse.c b/usr/src/uts/common/fs/zfs/dmu_traverse.c | |
index ac93002..a1a0293 100644 | |
--- a/usr/src/uts/common/fs/zfs/dmu_traverse.c | |
+++ b/usr/src/uts/common/fs/zfs/dmu_traverse.c | |
@@ -39,6 +39,7 @@ | |
#include <sys/zfeature.h> | |
int32_t zfs_pd_bytes_max = 50 * 1024 * 1024; /* 50MB */ | |
+boolean_t ignore_hole_birth = B_FALSE; | |
typedef struct prefetch_data { | |
kmutex_t pd_mtx; | |
@@ -254,7 +255,7 @@ traverse_visitbp(traverse_data_t *td, const dnode_phys_t *dnp, | |
* | |
* Note that the meta-dnode cannot be reallocated. | |
*/ | |
- if ((!td->td_realloc_possible || | |
+ if (!ignore_hole_birth && (!td->td_realloc_possible || | |
zb->zb_object == DMU_META_DNODE_OBJECT) && | |
td->td_hole_birth_enabled_txg <= td->td_min_txg) | |
return (0); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The latest rev will cause hole birth to be ignored when sending holes with birth time zero, if the tunable is set. You still get some of the hole birth benefits, just not all of them.