From 006183421565fb1941408ed52b44e8aa2799ab80 Mon Sep 17 00:00:00 2001 From: Tiago Castro Date: Thu, 4 Apr 2024 11:48:23 +0100 Subject: [PATCH 1/2] fix(rebuild): connect the io log when detaching When we detach a device, ensure that the io logs are connected. This usually happens on the fault path, however this change ensures that this happens during the detach itself and thus hardening it against races. Signed-off-by: Tiago Castro --- io-engine/src/bdev/nexus/nexus_channel.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/io-engine/src/bdev/nexus/nexus_channel.rs b/io-engine/src/bdev/nexus/nexus_channel.rs index 522f96130..16d1340d4 100644 --- a/io-engine/src/bdev/nexus/nexus_channel.rs +++ b/io-engine/src/bdev/nexus/nexus_channel.rs @@ -238,6 +238,12 @@ impl<'n> NexusChannel<'n> { self.detached.push(t); } + // Since we've removed the device from the IO path, make sure we + // reconnect the io logs in case we haven't done so yet. + // Otherwise, a given channel might never see an error for this device + // and will therefore not log the IOs until a reconnect_io_logs. + self.reconnect_io_logs(); + debug!("{self:?}: device '{device_name}' detached"); if is_channel_debug_enabled() { From 3be382344c982170f79e41f6a22bcd83517822dc Mon Sep 17 00:00:00 2001 From: Tiago Castro Date: Thu, 4 Apr 2024 11:53:22 +0100 Subject: [PATCH 2/2] fix(fio): bump fio to 3.37 This fixes an issue seen with fio 3.33 reporting an invalid miscompare. Signed-off-by: Tiago Castro --- nix/pkgs/fio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/pkgs/fio/default.nix b/nix/pkgs/fio/default.nix index d5742839a..bea485c9e 100644 --- a/nix/pkgs/fio/default.nix +++ b/nix/pkgs/fio/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "fio"; - version = "3.33"; + version = "3.37"; src = fetchFromGitHub { owner = "axboe"; repo = "fio"; rev = "fio-${version}"; - sha256 = "sha256-d4Fx2QdO+frt+gcBzegJ9CW5NJQRLNkML/iD3te/1d0="; + sha256 = "sha256-dKHTxVglH10aV44RuSeIFATn83DVdmCYtuaiS3b0+zo="; }; buildInputs = [ python3 zlib ]