From 3b1328423e1d4a844efd128b05212c4bebe80be4 Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Mon, 20 Jan 2025 16:58:14 +0100 Subject: [PATCH] basebackup: fetch all SLRUs of one basebackup using the same IoConcurrency --- pageserver/src/basebackup.rs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pageserver/src/basebackup.rs b/pageserver/src/basebackup.rs index 5de4a0f20b..f0ee20b639 100644 --- a/pageserver/src/basebackup.rs +++ b/pageserver/src/basebackup.rs @@ -301,20 +301,16 @@ where let mut slru_builder = SlruSegmentsBuilder::new(&mut self.ar); + let io_concurrency = IoConcurrency::spawn_from_env( + self.timeline + .gate + .enter() + .map_err(|e| BasebackupError::Server(e.into()))?, + ); for part in slru_partitions.parts { let blocks = self .timeline - .get_vectored( - part, - self.lsn, - IoConcurrency::spawn_from_env( - self.timeline - .gate - .enter() - .map_err(|e| BasebackupError::Server(e.into()))?, - ), - self.ctx, - ) + .get_vectored(part, self.lsn, io_concurrency.clone(), self.ctx) .await .map_err(|e| BasebackupError::Server(e.into()))?;