summaryrefslogtreecommitdiff
path: root/sys-fs/zfs-kmod/files/zfs-kmod-2.1.13-Disable-zfs_dmu_offset_next_sync-tunable-by-default.patch
blob: c03398450e488ed6f4bd983406589735486ebfd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
@@ -1646,7 +1646,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
@@ -80,7 +80,7 @@ unsigned long zfs_per_txg_dirty_frees_percent = 30;
  * Disabling this option will result in holes never being reported in dirty
  * files which is always safe.
  */
-int zfs_dmu_offset_next_sync = 1;
+int zfs_dmu_offset_next_sync = 0;
 
 /*
  * Limit the amount we can prefetch with one call to this amount.  This