server: Fix .zero fallback path
resolves: RHEL-101635
This commit is contained in:
parent
58b3d4e63e
commit
4450b8fbd9
39
0044-server-Fix-.zero-fallback-path.patch
Normal file
39
0044-server-Fix-.zero-fallback-path.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From e947a2a55cb018711b7f4ede5b5cec291ed5cf24 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 2 Jul 2025 16:18:19 +0100
|
||||||
|
Subject: [PATCH] server: Fix .zero fallback path
|
||||||
|
|
||||||
|
When no efficient zero method is supported, we fall back to writing a
|
||||||
|
buffer of actual zeroes. However because of an omitted update to
|
||||||
|
'offset' we would only zero out (up to) the first 64M of each range.
|
||||||
|
nbdcopy defaults to working on blocks of 128M, leaving the second 64M
|
||||||
|
unzeroed.
|
||||||
|
|
||||||
|
This affects only backing filesystems which do not support fallocate
|
||||||
|
FALLOC_FL_PUNCH_HOLE or FALLOC_FL_ZERO_RANGE, which turns out to be
|
||||||
|
rare, but it does include some NFS-mounted filesystems which is where
|
||||||
|
I saw this problem.
|
||||||
|
|
||||||
|
Fixes: commit 19184d3eb6356ae3b14da0fbaa9c9bdc7743a448
|
||||||
|
Thanks: Alex Kalenyuk
|
||||||
|
(cherry picked from commit 20b23fc9838faeddfd42664a7f497a9b29dc5921)
|
||||||
|
(cherry picked from commit 3c8d0812e7a7b6a1f9e5cceab7bee6e25b9cd7cd)
|
||||||
|
---
|
||||||
|
server/plugins.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/server/plugins.c b/server/plugins.c
|
||||||
|
index 3c7df0d2..db36ce42 100644
|
||||||
|
--- a/server/plugins.c
|
||||||
|
+++ b/server/plugins.c
|
||||||
|
@@ -807,6 +807,7 @@ plugin_zero (struct context *c,
|
||||||
|
if (r == -1)
|
||||||
|
break;
|
||||||
|
count -= limit;
|
||||||
|
+ offset += limit;
|
||||||
|
}
|
||||||
|
|
||||||
|
done:
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
||||||
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
Name: nbdkit
|
Name: nbdkit
|
||||||
Version: 1.38.5
|
Version: 1.38.5
|
||||||
Release: 11%{?dist}
|
Release: 12%{?dist}
|
||||||
Summary: NBD server
|
Summary: NBD server
|
||||||
|
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
@ -124,6 +124,7 @@ Patch0040: 0040-vddk-stats-Collect-elapsed-time-for-ReadAsync-and-Wr.patch
|
|||||||
Patch0041: 0041-server-Fix-off-by-one-for-maximum-block_status-lengt.patch
|
Patch0041: 0041-server-Fix-off-by-one-for-maximum-block_status-lengt.patch
|
||||||
Patch0042: 0042-blocksize-Fix-32-bit-overflow-in-.extents-CVE-2025-4.patch
|
Patch0042: 0042-blocksize-Fix-32-bit-overflow-in-.extents-CVE-2025-4.patch
|
||||||
Patch0043: 0043-vddk-Add-support-for-VDDK-9.0.0.0.patch
|
Patch0043: 0043-vddk-Add-support-for-VDDK-9.0.0.0.patch
|
||||||
|
Patch0044: 0044-server-Fix-.zero-fallback-path.patch
|
||||||
|
|
||||||
# For automatic RPM Provides generation.
|
# For automatic RPM Provides generation.
|
||||||
# See: https://rpm-software-management.github.io/rpm/manual/dependency_generators.html
|
# See: https://rpm-software-management.github.io/rpm/manual/dependency_generators.html
|
||||||
@ -1542,6 +1543,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jul 05 2025 Richard W.M. Jones <rjones@redhat.com> - 1.38.5-12
|
||||||
|
- server: Fix .zero fallback path
|
||||||
|
resolves: RHEL-101635
|
||||||
|
|
||||||
* Mon Jun 23 2025 Richard W.M. Jones <rjones@redhat.com> - 1.38.5-11
|
* Mon Jun 23 2025 Richard W.M. Jones <rjones@redhat.com> - 1.38.5-11
|
||||||
- Add support for VDDK 9.0.0.0
|
- Add support for VDDK 9.0.0.0
|
||||||
resolves: RHEL-99466
|
resolves: RHEL-99466
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user