Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] zfs/zfs-lts: please do not eat my data
@ 2023-11-24 22:08 zdykstra
  2023-11-24 22:09 ` zdykstra
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: zdykstra @ 2023-11-24 22:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

There is a new pull request by zdykstra against master on the void-packages repository

https://github.com/zdykstra/void-packages please-do-not-eat-my-data
https://github.com/void-linux/void-packages/pull/47379

zfs/zfs-lts: please do not eat my data
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

While OpenZFS tracks down providing files with a surplus of zeros, we should disable a relevant tunable by default that mitigates the damage.

A patch file from https://github.com/void-linux/void-packages/pull/47379.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-please-do-not-eat-my-data-47379.patch --]
[-- Type: text/x-diff, Size: 6476 bytes --]

From e8e52daba5d186b50a3a24fd4b50b7db9dbec27e Mon Sep 17 00:00:00 2001
From: Zach Dykstra <dykstra.zachary@gmail.com>
Date: Fri, 24 Nov 2023 16:06:24 -0600
Subject: [PATCH 1/2] zfs-lts: disable zfs_dmu_offset_next_sync by default

---
 ...ault-zfs_dmu_offset_next_sync-to-off.patch | 45 +++++++++++++++++++
 srcpkgs/zfs-lts/template                      |  2 +-
 2 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/zfs-lts/patches/default-zfs_dmu_offset_next_sync-to-off.patch

diff --git a/srcpkgs/zfs-lts/patches/default-zfs_dmu_offset_next_sync-to-off.patch b/srcpkgs/zfs-lts/patches/default-zfs_dmu_offset_next_sync-to-off.patch
new file mode 100644
index 0000000000000..ae21df42ce3a3
--- /dev/null
+++ b/srcpkgs/zfs-lts/patches/default-zfs_dmu_offset_next_sync-to-off.patch
@@ -0,0 +1,45 @@
+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>
+---
+diff --git a/man/man4/zfs.4 b/man/man4/zfs.4
+index 0c60a9c8e..8c14e670b 100644
+--- 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
+diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c
+index 96e98a42e..c1fd57c9e 100644
+--- 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
diff --git a/srcpkgs/zfs-lts/template b/srcpkgs/zfs-lts/template
index c9968e607927a..4f0cd99fab499 100644
--- a/srcpkgs/zfs-lts/template
+++ b/srcpkgs/zfs-lts/template
@@ -1,7 +1,7 @@
 # Template file for 'zfs-lts'
 pkgname=zfs-lts
 version=2.1.13
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-config=user --with-mounthelperdir=/usr/bin
  --with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d

From 027c09d4dd330bafe8dd600e69831989b9e77eca Mon Sep 17 00:00:00 2001
From: Zach Dykstra <dykstra.zachary@gmail.com>
Date: Fri, 24 Nov 2023 16:06:38 -0600
Subject: [PATCH 2/2] zfs: disable zfs_dmu_offset_next_sync by default

---
 ...ault-zfs_dmu_offset_next_sync-to-off.patch | 51 +++++++++++++++++++
 srcpkgs/zfs/template                          |  2 +-
 2 files changed, 52 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/zfs/patches/default-zfs_dmu_offset_next_sync-to-off.patch

diff --git a/srcpkgs/zfs/patches/default-zfs_dmu_offset_next_sync-to-off.patch b/srcpkgs/zfs/patches/default-zfs_dmu_offset_next_sync-to-off.patch
new file mode 100644
index 0000000000000..b452304f49c48
--- /dev/null
+++ b/srcpkgs/zfs/patches/default-zfs_dmu_offset_next_sync-to-off.patch
@@ -0,0 +1,51 @@
+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>
+---
+ 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 5daf27e9d..d70c8921c 100644
+--- 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
+diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c
+index a63aac51f..2cdbd4dc5 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.43.0
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index 4a35e2254b62f..37b70fe5bb6fd 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,7 +1,7 @@
 # Template file for 'zfs'
 pkgname=zfs
 version=2.2.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-config=user --with-mounthelperdir=/usr/bin
  --with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: zfs/zfs-lts: please do not eat my data
  2023-11-24 22:08 [PR PATCH] zfs/zfs-lts: please do not eat my data zdykstra
@ 2023-11-24 22:09 ` zdykstra
  2023-11-26  5:35 ` Vaelatern
  2023-11-26  5:35 ` [PR PATCH] [Merged]: " Vaelatern
  2 siblings, 0 replies; 4+ messages in thread
From: zdykstra @ 2023-11-24 22:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 178 bytes --]

New comment by zdykstra on void-packages repository

https://github.com/void-linux/void-packages/pull/47379#issuecomment-1826109752

Comment:
@Vaelatern @classabbyamp @ahesford 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: zfs/zfs-lts: please do not eat my data
  2023-11-24 22:08 [PR PATCH] zfs/zfs-lts: please do not eat my data zdykstra
  2023-11-24 22:09 ` zdykstra
@ 2023-11-26  5:35 ` Vaelatern
  2023-11-26  5:35 ` [PR PATCH] [Merged]: " Vaelatern
  2 siblings, 0 replies; 4+ messages in thread
From: Vaelatern @ 2023-11-26  5:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 152 bytes --]

New comment by Vaelatern on void-packages repository

https://github.com/void-linux/void-packages/pull/47379#issuecomment-1826587114

Comment:
Wow ZFS.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Merged]: zfs/zfs-lts: please do not eat my data
  2023-11-24 22:08 [PR PATCH] zfs/zfs-lts: please do not eat my data zdykstra
  2023-11-24 22:09 ` zdykstra
  2023-11-26  5:35 ` Vaelatern
@ 2023-11-26  5:35 ` Vaelatern
  2 siblings, 0 replies; 4+ messages in thread
From: Vaelatern @ 2023-11-26  5:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 469 bytes --]

There's a merged pull request on the void-packages repository

zfs/zfs-lts: please do not eat my data
https://github.com/void-linux/void-packages/pull/47379

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

While OpenZFS tracks down providing files with a surplus of zeros, we should disable a relevant tunable by default that mitigates the damage.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-26  5:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-24 22:08 [PR PATCH] zfs/zfs-lts: please do not eat my data zdykstra
2023-11-24 22:09 ` zdykstra
2023-11-26  5:35 ` Vaelatern
2023-11-26  5:35 ` [PR PATCH] [Merged]: " Vaelatern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).