diff --git a/.gitignore b/.gitignore index 2a12507..424d6d0 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,5 @@ /dmpd130rc1-vendor.tar.gz /v1.3.0.tar.gz /dmpd130-vendor.tar.gz +/v1.3.2.tar.gz +/dmpd132-vendor.tar.gz diff --git a/0001-thin_metadata_unpack-Flush-the-output-file-before-re.patch b/0001-thin_metadata_unpack-Flush-the-output-file-before-re.patch new file mode 100644 index 0000000..436be7c --- /dev/null +++ b/0001-thin_metadata_unpack-Flush-the-output-file-before-re.patch @@ -0,0 +1,36 @@ +From 357749ad453beac21d4b91bf5c29b8deb797b593 Mon Sep 17 00:00:00 2001 +From: Ming-Hung Tsai +Date: Fri, 8 May 2026 00:24:46 +0800 +Subject: [PATCH] [thin_metadata_unpack] Flush the output file before returning + +thin_metadata_unpack writes blocks via buffered IO, leaving dirty pages +unflushed. While the O_DIRECT read path flushes those pages implicitly +via filemap_write_and_wait_range(), this has proven unreliable on +weakly-ordered architectures under CI load (aarch64 and ppc64le), +resulting in intermittent checksum failures on subsequent O_DIRECT +reads. + +Fix by calling sync_all() before returning, ensuring all dirty pages reach +the storage device before handing the file to subsequent processes + +(cherry picked from commit 629ea19837d97c53417e25bcbb7eed0219601358) +--- + src/pack/toplevel.rs | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/pack/toplevel.rs b/src/pack/toplevel.rs +index 5cda9344..70324b62 100644 +--- a/src/pack/toplevel.rs ++++ b/src/pack/toplevel.rs +@@ -309,5 +309,8 @@ pub fn unpack(input_file: &Path, output_file: &Path) -> Result<()> { + for t in threads { + t.join().unwrap()?; + } ++ ++ output.lock().unwrap().sync_all()?; ++ + Ok(()) + } +-- +2.54.0 + diff --git a/device-mapper-persistent-data.spec b/device-mapper-persistent-data.spec index 8d94ee3..b933589 100644 --- a/device-mapper-persistent-data.spec +++ b/device-mapper-persistent-data.spec @@ -9,7 +9,7 @@ Summary: Device-mapper Persistent Data Tools Name: device-mapper-persistent-data -Version: 1.3.0 +Version: 1.3.2 Release: 1%{?dist}%{?release_suffix} License: GPL-3.0-only AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) @@ -17,8 +17,8 @@ License: GPL-3.0-only AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache URL: https://github.com/jthornber/thin-provisioning-tools #Source0: https://github.com/jthornber/thin-provisioning-tools/archive/thin-provisioning-tools-%%{version}.tar.gz Source0: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}%{?version_suffix}.tar.gz -Source1: dmpd130-vendor.tar.gz -#Patch1: 0001-Tweak-cargo.toml-to-work-with-vendor-directory.patch +Source1: dmpd132-vendor.tar.gz +Patch1: 0001-thin_metadata_unpack-Flush-the-output-file-before-re.patch %if %{defined rhel} BuildRequires: rust-toolset @@ -122,6 +122,9 @@ echo %{version}-%{release} > VERSION #% {_sbindir}/thin_show_duplicates %changelog +* Wed May 13 2026 Marian Csontos - 1.3.2-1 +- Update to upstream release 1.3.2. + * Wed Oct 22 2025 Marian Csontos - 1.3.0-1 - Update to upstream release 1.3.0. diff --git a/sources b/sources index 10e4d92..aec760d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (v1.3.0.tar.gz) = 84e364df240a43fea44edfe14cf428d79d1301891b2482599229e125768912127922377139c2117db50a5370fb08c0f52d589d11b6a90673af2d242ff4ef7920 -SHA512 (dmpd130-vendor.tar.gz) = 9f5e7e68da29189f74dfae5d8c219917b3e11fe73e9f978fec22d3003734a6fff2df6fb1a83c84a666726ba473f611aabd2ecf77ff859c0b3be85dc48a6dcf21 +SHA512 (v1.3.2.tar.gz) = 284c9b2421a2007e4225c64304fbc41f4455c9304e4dc16918fb94b063af9a3d8b16ea9ba01bfbc96fa45bdf6cde800998ad7c1d2f086f4da92741a44f2b6942 +SHA512 (dmpd132-vendor.tar.gz) = 2577f0f2f4685afa8529328c676e9d95c5d557c150080d47b4c745a6a4fac5b28b8fe5107f50d5a162852e540cb22ed833bcc7de2f76d4fabf7711c4f519fa4d