MFV r306423: 7402 Create tunable to ignore hole_birth feature
Until we can resolve the numerous hole_birth bugs that have cropped up recently, and come up with a way going forwards to protect users from corruption, we should disable the hole_birth feature. Using a tunable allows those who are confident that their data is correct to continue to take advantage of the feature. Closes #188 Reviewed by: Matthew Ahrens <mahrens@delphix.com> Author: Paul Dagnelie <pcd@delphix.com>
This commit is contained in:
commit
226a11f81e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=306425
@ -40,6 +40,11 @@
|
||||
#include <sys/zfeature.h>
|
||||
|
||||
int32_t zfs_pd_bytes_max = 50 * 1024 * 1024; /* 50MB */
|
||||
boolean_t send_holes_without_birth_time = B_TRUE;
|
||||
|
||||
SYSCTL_DECL(_vfs_zfs);
|
||||
SYSCTL_UINT(_vfs_zfs, OID_AUTO, send_holes_without_birth_time, CTLFLAG_RWTUN,
|
||||
&send_holes_without_birth_time, 0, "Send holes without birth time");
|
||||
|
||||
typedef struct prefetch_data {
|
||||
kmutex_t pd_mtx;
|
||||
@ -254,7 +259,8 @@ 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 (!send_holes_without_birth_time &&
|
||||
(!td->td_realloc_possible ||
|
||||
zb->zb_object == DMU_META_DNODE_OBJECT) &&
|
||||
td->td_hole_birth_enabled_txg <= td->td_min_txg)
|
||||
return (0);
|
||||
|
Loading…
Reference in New Issue
Block a user