summaryrefslogtreecommitdiff
path: root/sys-fs/zfs-kmod/files/zfs-kmod-2.2.1-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/zfs-kmod/files/zfs-kmod-2.2.1-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch')
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-2.2.1-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-2.2.1-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.1-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch
new file mode 100644
index 000000000000..f49ab09adf7a
--- /dev/null
+++ b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.1-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch
@@ -0,0 +1,43 @@
+From 2b266bd36980caefe353411bd56b2487c44aeb6e Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 24 Nov 2023 21:38:06 +0000
+Subject: [PATCH] Disable zfs_dmu_offset_next_sync tunable by default
+
+As a mitigation until more is understood and fixes are tested & reviewed, change
+the default of zfs_dmu_offset_next_sync from 1 to 0, as it was before
+05b3eb6d232009db247882a39d518e7282630753.
+
+There are no reported cases of The Bug being hit with zfs_dmu_offset_next_sync=1:
+that does not mean this is a cure or a real fix, but it _appears_ to be at least
+effective in reducing the chances of it happening. By itself, it's a safe change
+anyway, so it feels worth us doing while we wait.
+
+Bug: https://github.com/openzfs/zfs/issues/11900
+Bug: https://github.com/openzfs/zfs/issues/15526
+Bug: https://bugs.gentoo.org/917224
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/man/man4/zfs.4
++++ b/man/man4/zfs.4
+@@ -1677,7 +1677,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
+--- 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.43.0
+