Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
os/bluestore: multi-tier support in BlueStore #18211
Overall this looks pretty good! All the setup and teardown looks like it's done right (yay!).
The main change I think we would do for a mergeable implementation would be to mark invididual extents with the block device (e.g., using the high bit(s) of the offset). That way if the fast or slow device fills up we can spill over to the other one.
Also, if we choose to go this path for reals, we should probably combine the block.db and block.fast so that bluestore can use one fast device for data and metadata. More complex code but easier for the user to manage--they just provide some fast, some slow, and we make the best of what we're given.
But for the purposes of this experiment, I think what you have here looks just fine!
@liewegas Thank you for your review.
I use the highest bit of offset in bluestore_pextent_t as the flag which indicates where this physical extent is stored.
2 times, most recently
Oct 25, 2017
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.