-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Thin provisioning : Enable zero detecting for requests #349
Thin provisioning : Enable zero detecting for requests #349
Conversation
Add thin flag Add baseline functions for thin pro
41fe819
to
fd4cf35
Compare
// all requests. The caller needs to load the requests before starting the job. The requests are loaded in the form of | ||
// Write with three or four parameters and Read with three parameters. The value is optional and is used only for write | ||
// requests. | ||
class IOManualTestJob : public TestJob { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Is there a reason why the existing IOTestJob::same_lbas()
(with some modification) can't serve the purpose of this basic test?
Added a manual io job test
fd4cf35
to
2770a52
Compare
// Case one: normal read (no zero padding) | ||
std::make_tuple("write", 0, 100, 4), std::make_tuple("read", 5, 20), | ||
// Case two: zero padding, read after write | ||
std::make_tuple("write", 1, 10), std::make_tuple("read", 1, 20), std::make_tuple("read", 5, 3), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1- write zeros from lba 1 to 10
2- read a) from lba 1 to 20 b) from lba 5 to lba 7
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I meant is to put some comment in the code for readers to understand better.
Questinon: how come "read", 5, 3 maps to read from lba 5 to 7?
// Case two: zero padding, read after write | ||
std::make_tuple("write", 1, 10), std::make_tuple("read", 1, 20), std::make_tuple("read", 5, 3), | ||
// Case three: zero padding, overlapping for read | ||
std::make_tuple("write", 100, 200), std::make_tuple("read", 150, 250), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1- write zeros from lba 100 to 200
2- read from lba 150 to 350 - half a portion is populated with zero buffers
// Case three: zero padding, overlapping for read | ||
std::make_tuple("write", 100, 200), std::make_tuple("read", 150, 250), | ||
// Case four: no write | ||
std::make_tuple("read", 800, 5)}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
read from lbas that have been not populated.
Please make sure all github CI is passing before merge. Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please make sure ci build pass before merge.
ed3ffae
into
eBay:thin_provisioning
No description provided.