From f7152c889cc9d19868b4e024fc306eed926291c1 Mon Sep 17 00:00:00 2001 From: Brooks Prumo Date: Thu, 18 Nov 2021 20:34:20 -0600 Subject: [PATCH] Constrain memory ordering on AppendVec::id (#21310) --- runtime/src/accounts_db.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/src/accounts_db.rs b/runtime/src/accounts_db.rs index 8de5e6315e..1c22489fde 100644 --- a/runtime/src/accounts_db.rs +++ b/runtime/src/accounts_db.rs @@ -700,7 +700,7 @@ impl AccountStorageEntry { self.accounts.reset(); *count_and_status = (0, AccountStorageStatus::Available); self.slot.store(slot, Ordering::Release); - self.id.store(id, Ordering::Relaxed); + self.id.store(id, Ordering::Release); self.approx_store_count.store(0, Ordering::Relaxed); self.alive_bytes.store(0, Ordering::Release); } @@ -738,7 +738,7 @@ impl AccountStorageEntry { } pub fn append_vec_id(&self) -> AppendVecId { - self.id.load(Ordering::Relaxed) + self.id.load(Ordering::Acquire) } pub fn flush(&self) -> Result<(), IoError> { @@ -5415,7 +5415,7 @@ impl AccountsDb { if let Some(storages) = storages.get(slot) { storages.iter().for_each(|store| { self.dirty_stores - .insert((slot, store.id.load(Ordering::Relaxed)), store.clone()); + .insert((slot, store.append_vec_id()), store.clone()); }); } }