Skip to content

SDSTOR-20656: clear wbc chunk selector - #179

Open
nnastonen wants to merge 2 commits into
eBay:dev/v6.xfrom
nnastonen:SDSTOR-20656_clear_wbc_chunk_selector
Open

nnastonen wants to merge 2 commits into
eBay:dev/v6.xfrom
nnastonen:SDSTOR-20656_clear_wbc_chunk_selector

Conversation

@nnastonen

@nnastonen nnastonen commented Sep 10, 2026

Copy link
Copy Markdown
  1. Create homestore with chunk selector
  2. Create btree1 and populate it
  3. Nodes get into wbc cache
  4. Destroy btree1 (wbc purge is not done, also volume's chunk bitmap is not cleared)
  5. Create btree2 and populate it
  6. Nodes get into wbc cache and we get cache corruption, duplicate inserts

This change makes chunk release asynchronous and defers returning the chunk to the free pool until cleanup is complete.

New flow:

  • detach the volume's chunk list from m_volume_chunks
  • run asynchronous cleanup for all the chunks
  • in cleanup, evict all allocated blkids for the chunks from WBC
  • [reset the chunks' block allocator state (bitmap)]
  • reinsert the chunks into m_per_dev_chunks

This PR also addresses this ticket SDSTOR-20651

@nnastonen
nnastonen force-pushed the SDSTOR-20656_clear_wbc_chunk_selector branch from e447bcc to 19e725e Compare September 15, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant