-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #270445 from adamcstephens/backport-270275-to-rele…
…ase-23.11 [Backport release-23.11] zfs: default disable zfs_dmu_offset_next_sync to avoid data corruption
- Loading branch information
Showing
3 changed files
with
52 additions
and
1 deletion.
There are no files selected for viewing
44 changes: 44 additions & 0 deletions
44
pkgs/os-specific/linux/zfs/patches/disable-zfs-dmu-offset-next-sync-by-default-v2-2.patch
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
From 3ba4ff328ab001d88d7714087d8a89687bc68312 Mon Sep 17 00:00:00 2001 | ||
From: Andrew Marshall <[email protected]> | ||
Date: Sun, 26 Nov 2023 12:46:18 -0500 | ||
Subject: [PATCH] Disable zfs_dmu_offset_next_sync tunable by default | ||
|
||
This helps mitigate a data corruption bug. This was previously defaulted | ||
to zero, so doing so seems safe. | ||
|
||
See https://github.com/openzfs/zfs/issues/11900 | ||
See https://github.com/openzfs/zfs/issues/15526 | ||
--- | ||
man/man4/zfs.4 | 2 +- | ||
module/zfs/dmu.c | 2 +- | ||
2 files changed, 2 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/man/man4/zfs.4 b/man/man4/zfs.4 | ||
index 4ec52a2fb..2a69a8f54 100644 | ||
--- a/man/man4/zfs.4 | ||
+++ b/man/man4/zfs.4 | ||
@@ -1660,7 +1660,7 @@ Allow no-operation writes. | ||
The occurrence of nopwrites will further depend on other pool properties | ||
.Pq i.a. the checksumming and compression algorithms . | ||
. | ||
-.It Sy zfs_dmu_offset_next_sync Ns = Ns Sy 1 Ns | Ns 0 Pq int | ||
+.It Sy zfs_dmu_offset_next_sync Ns = Ns Sy 0 Ns | Ns 1 Pq int | ||
Enable forcing TXG sync to find holes. | ||
When enabled forces ZFS to sync data when | ||
.Sy SEEK_HOLE No or Sy SEEK_DATA | ||
diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c | ||
index ddb29020b..5d37b6f92 100644 | ||
--- a/module/zfs/dmu.c | ||
+++ b/module/zfs/dmu.c | ||
@@ -82,7 +82,7 @@ static uint_t zfs_per_txg_dirty_frees_percent = 30; | ||
* Disabling this option will result in holes never being reported in dirty | ||
* files which is always safe. | ||
*/ | ||
-static int zfs_dmu_offset_next_sync = 1; | ||
+static int zfs_dmu_offset_next_sync = 0; | ||
|
||
/* | ||
* Limit the amount we can prefetch with one call to this amount. This | ||
-- | ||
2.42.0 | ||
|
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
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