diff --git a/nexus/src/app/crucible.rs b/nexus/src/app/crucible.rs index b8fca26c14..86de328355 100644 --- a/nexus/src/app/crucible.rs +++ b/nexus/src/app/crucible.rs @@ -150,7 +150,7 @@ impl super::Nexus { } /// Call out to Crucible agent and perform region creation. Optionally, - /// supply a read-only source to invoke a clone. + /// supply a read-only source's repair address to invoke a clone. pub async fn ensure_region_in_dataset( &self, log: &Logger, diff --git a/nexus/src/app/sagas/region_snapshot_replacement_start.rs b/nexus/src/app/sagas/region_snapshot_replacement_start.rs index 9c769e1942..84661005b3 100644 --- a/nexus/src/app/sagas/region_snapshot_replacement_start.rs +++ b/nexus/src/app/sagas/region_snapshot_replacement_start.rs @@ -414,7 +414,7 @@ async fn rsrss_new_region_ensure( // downstairs port. Once this goes away, Nexus will require a way to query // for the repair port! - let mut repair_addr: SocketAddrV6 = + let mut source_repair_addr: SocketAddrV6 = match region_snapshot.snapshot_addr.parse() { Ok(addr) => addr, @@ -425,8 +425,9 @@ async fn rsrss_new_region_ensure( } }; - repair_addr - .set_port(repair_addr.port() + crucible_common::REPAIR_PORT_OFFSET); + source_repair_addr.set_port( + source_repair_addr.port() + crucible_common::REPAIR_PORT_OFFSET, + ); let ensured_region = osagactx .nexus() @@ -434,7 +435,7 @@ async fn rsrss_new_region_ensure( log, &new_dataset, &new_region, - Some(repair_addr.to_string()), + Some(source_repair_addr.to_string()), ) .await .map_err(ActionError::action_failed)?;