Skip to content

Conversation

maflcko
Copy link
Member

@maflcko maflcko commented Apr 19, 2021

See #21575

@DrahtBot
Copy link
Contributor

DrahtBot commented Apr 19, 2021

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

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.

Copy link
Contributor

@promag promag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review ACK fa8cf6f. Always nice to see a nice chunk of code moved from validation.cpp. I agree this block storage related code doesn't belong there.

Verified commit by commit, with the given instructions, easy to review and to reason about. Only detail is that AbortNode is moved early since it is needed in an upcoming commit.

@maflcko
Copy link
Member Author

maflcko commented Apr 20, 2021

Rebased.

git range-diff bitcoin-core/master fa8cf6fae7 fab20c8f73 --word-diff-regex=.

@practicalswift
Copy link
Contributor

Concept ACK

I don't know if that would belong in this PR or in a follow-up PR, but perhaps we want to introduce namespace blockstorage similar to how namespace init is introduced in #21732?

@maflcko
Copy link
Member Author

maflcko commented Apr 20, 2021

I think a namespace is not the right solution here. Blockstorage is inherently stateful, so a class makes more sense. I expect that BlockManager can be recycled to be this class (after it is moved here), but this will happen in later pull requests. The changes here are focussed on move-only to simply collect the code that is blockstorage related.

MarcoFalke added 5 commits April 27, 2021 10:32
Can be reviewed with --color-moved=dimmed-zebra
However, keep a declaration in validation to make it possible to move
smaller chunks to blockstorage without breaking compilation.

Also, expose AbortNode in the header.

Can be reviewed with --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space
Can be reviewed with --word-diff-regex=. --ignore-all-space
@maflcko maflcko force-pushed the 2104-blockstorage branch from fab20c8 to fa09a9e Compare April 27, 2021 08:40
@Sjors
Copy link
Member

Sjors commented Apr 27, 2021

ACK fa09a9e

@maflcko maflcko requested a review from promag April 27, 2021 11:29
@kiminuo
Copy link
Contributor

kiminuo commented Apr 27, 2021

ACK fa09a9e

  • Checked diff via dimmed-zebra.
  • Compiled each individual commit - success.
  • (Noticed only that IsBlockPruned is no longer an inline function.)

Copy link
Contributor

@promag promag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review ACK fa09a9e. Since last review

git range-diff c6d6bc8 fa8cf6f fa09a9e --word-diff-regex=.`

@DrahtBot
Copy link
Contributor

DrahtBot commented May 3, 2021

🕵️ @sipa has been requested to review this pull request as specified in the REVIEWERS file.

@laanwj
Copy link
Member

laanwj commented May 5, 2021

Code review ACK fa09a9e

@laanwj laanwj merged commit 3275c6e into bitcoin:master May 5, 2021
@maflcko maflcko deleted the 2104-blockstorage branch May 5, 2021 16:24
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request May 5, 2021
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Dec 30, 2021
TODO doesn't really make sense. It would turn some public global
variables into private global variables, but really they shouldn't be
global variables at all. They should be block manager member variables
or chainstate manager member variables.

TODO was added by MarcoFalke <falke.marco@gmail.com> in
fa247a3 in bitcoin#21727 and noticed by Samuel
Dobson <dobsonsa68@gmail.com>
bitcoin#23497 (comment)
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Jan 4, 2022
TODO doesn't really make sense. It would turn some public global
variables into private global variables, but really they shouldn't be
global variables at all. They should be block manager member variables
or chainstate manager member variables.

TODO was added by MarcoFalke <falke.marco@gmail.com> in
fa247a3 in bitcoin#21727 and noticed by Samuel
Dobson <dobsonsa68@gmail.com>
bitcoin#23497 (comment)
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Jan 4, 2022
TODO doesn't really make sense. It would turn some public global
variables into private global variables, but really they shouldn't be
global variables at all. They should be block manager member variables
or chainstate manager member variables.

TODO was added by MarcoFalke <falke.marco@gmail.com> in
fa247a3 in bitcoin#21727 and noticed by Samuel
Dobson <dobsonsa68@gmail.com>
bitcoin#23497 (comment)
gwillen pushed a commit to ElementsProject/elements that referenced this pull request Jun 1, 2022
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants