blockman: Properly guard blockfile members #24456

pull dongcarl wants to merge 3 commits into bitcoin:master from dongcarl:2022-02-kirby-p4 changing 4 files +23 −12
  1. dongcarl commented at 6:00 PM on March 1, 2022: contributor

    Logically a rebase of: #15191 Based on and split off from: #22564

    Last commit arose out of review: #22564 (review)

  2. DrahtBot added the label Block storage on Mar 1, 2022
  3. DrahtBot added the label P2P on Mar 1, 2022
  4. DrahtBot added the label RPC/REST/ZMQ on Mar 1, 2022
  5. DrahtBot added the label Validation on Mar 1, 2022
  6. DrahtBot added the label Wallet on Mar 1, 2022
  7. DrahtBot commented at 6:18 AM on March 2, 2022: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #24595 (deploymentstatus: move g_versionbitscache global to ChainstateManager by ajtowns)
    • #24571 (p2p: Prevent block index fingerprinting by sending additional getheaders messages by dergoegge)
    • #24543 (net processing: Move remaining globals into PeerManagerImpl by dergoegge)
    • #24232 (assumeutxo: add init and completion logic by jamesob)
    • #24202 (rpc: allow dumptxoutset to dump human-readable data by w0xlt)
    • #24171 (p2p: Sync chain more readily from inbound peers during IBD by sdaftuar)
    • #24098 (rest: Use query parameters to control resource loading by stickies-v)
    • #24008 (assumeutxo: net_processing changes by jamesob)
    • #23599 (Tidy up RPCTxSerializationFlags by MarcoFalke)
    • #23443 (p2p: Erlay support signaling by naumenkogs)
    • #21726 (Improve Indices on pruned nodes via prune blockers by fjahr)
    • #20030 (validation: Remove useless call to mempool->clear() by MarcoFalke)
    • #19888 (rpc, test: Improve getblockstats for unspendables by fjahr)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  8. DrahtBot cross-referenced this on Mar 2, 2022 from issue validation, refactor: UnloadBlockIndex and ChainstateManager::Reset thread safety cleanups by jonatack
  9. DrahtBot cross-referenced this on Mar 2, 2022 from issue p2p: Split network logging into two categories #24247 by anshu-khare-design
  10. DrahtBot cross-referenced this on Mar 2, 2022 from issue validation: don't re-acquire cs_main during IBD in CChainState::IsInitialBlockDownload() by jonatack
  11. DrahtBot cross-referenced this on Mar 2, 2022 from issue rpc: allow dumptxoutset to dump human-readable data by w0xlt
  12. DrahtBot cross-referenced this on Mar 2, 2022 from issue p2p: Sync chain more readily from inbound peers during IBD by sdaftuar
  13. DrahtBot cross-referenced this on Mar 2, 2022 from issue rest: Use query parameters to control resource loading by stickies-v
  14. DrahtBot cross-referenced this on Mar 2, 2022 from issue assumeutxo: net_processing changes by jamesob
  15. DrahtBot cross-referenced this on Mar 2, 2022 from issue p2p: Remove GetAdjustedTime() from AddrMan by w0xlt
  16. DrahtBot cross-referenced this on Mar 2, 2022 from issue [WIP] DRAFT NOMERGE Tidy up RPCTxSerializationFlags by MarcoFalke
  17. DrahtBot cross-referenced this on Mar 2, 2022 from issue p2p: Erlay support signaling by naumenkogs
  18. DrahtBot cross-referenced this on Mar 2, 2022 from issue Improve Indices on pruned nodes via prune blockers by fjahr
  19. DrahtBot cross-referenced this on Mar 2, 2022 from issue validation: Remove useless call to mempool->clear() by MarcoFalke
  20. DrahtBot cross-referenced this on Mar 2, 2022 from issue rpc, test: Improve getblockstats for unspendables by fjahr
  21. DrahtBot cross-referenced this on Mar 2, 2022 from issue Flush dbcache early if system is under memory pressure by luke-jr
  22. DrahtBot added the label Needs rebase on Mar 7, 2022
  23. dongcarl marked this as a draft on Mar 7, 2022
  24. dongcarl force-pushed on Mar 7, 2022
  25. dongcarl commented at 2:16 PM on March 7, 2022: contributor

    Pushed 422f1f37e6a89a36bc09d5898f08e5cf7263ac81 -> 1b95be4ebe3eeea404cb44f35f31ce6d58e2bbe8

    • Rebased over master
  26. DrahtBot removed the label Needs rebase on Mar 7, 2022
  27. DrahtBot cross-referenced this on Mar 8, 2022 from issue assumeutxo: add init and completion logic by jamesob
  28. DrahtBot cross-referenced this on Mar 8, 2022 from issue indexes: Stop using node internal types and locking cs_main, improve sync logic by ryanofsky
  29. DrahtBot cross-referenced this on Mar 11, 2022 from issue Only load BlockMan in BlockMan member functions by dongcarl
  30. DrahtBot cross-referenced this on Mar 11, 2022 from issue CChainState -> Chainstate by jamesob
  31. DrahtBot cross-referenced this on Mar 12, 2022 from issue refactor: Move mutable globals cleared in `::UnloadBlockIndex` to `BlockManager` by dongcarl
  32. DrahtBot cross-referenced this on Mar 12, 2022 from issue net processing: Move remaining globals into PeerManagerImpl by dergoegge
  33. DrahtBot cross-referenced this on Mar 15, 2022 from issue p2p: Prevent block index fingerprinting by sending additional getheaders messages by dergoegge
  34. DrahtBot cross-referenced this on Mar 16, 2022 from issue Move txoutproof RPCs to txoutproof.cpp by MarcoFalke
  35. DrahtBot added the label Needs rebase on Mar 17, 2022
  36. dongcarl force-pushed on Mar 24, 2022
  37. dongcarl commented at 6:52 PM on March 24, 2022: contributor

    Pushed 1b95be4ebe3eeea404cb44f35f31ce6d58e2bbe8 -> f097cc3b23dede7d3afec9a6bea48e76f9bb4938

  38. DrahtBot removed the label Needs rebase on Mar 24, 2022
  39. DrahtBot cross-referenced this on Mar 26, 2022 from issue deploymentstatus: move g_versionbitscache global to ChainstateManager by ajtowns
  40. DrahtBot added the label Needs rebase on Apr 6, 2022
  41. DrahtBot commented at 7:48 AM on April 6, 2022: contributor

    <!--cf906140f33d8803c4a75a2196329ecb-->

    🐙 This pull request conflicts with the target branch and needs rebase.

    <sub>Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".</sub>

  42. blockman: Properly guard blockfile members
    Add GUARDED_BY(cs_LastBlockFile) annotations to:
    - m_blockfile_info
    - m_last_blockfile
    - m_check_for_pruning
    
    Add locking annotations as appropriate.
    
    [META] Some of these LOCK annotations will be turned into a
           AssertLockHeld+EXCLUSIVE_LOCKS_REQUIRED combo in the next commit
    55edcef68d
  43. blockman: Replace some LOCKs with require annotations da4cd7ae1f
  44. validation: Guard nBlockReverseSequenceId with cs_main
    It is only used in CChainState::PreciousBlock with ::cs_main locked.
    d69bca183f
  45. dongcarl force-pushed on May 4, 2022
  46. dongcarl commented at 3:32 PM on May 4, 2022: contributor

    Pushed f097cc3b23dede7d3afec9a6bea48e76f9bb4938 -> d69bca183f1320cd5438fb18d32d80fbc0c5fdfe

    • Rebased over master
  47. dongcarl commented at 3:32 PM on May 4, 2022: contributor

    Not going to nurse this PR anymore, feel free to take for yourself!

  48. dongcarl closed this on May 4, 2022

  49. fanquake added the label Up for grabs on May 4, 2022
  50. bitcoin locked this on May 4, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-20 06:53 UTC