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
rados: add option to include clones when doing flush or evict #9698
Conversation
@liewegas would you like to take a look? thanks! |
There is an operation which exposes the existing snapshots on an object. I'd prefer to use that along with the existing cache/flush operations to flush the clones. If you want to make this easier in the rados tool, I think the logic should be implemented entirely in the tool without messing with the actual OSD-side code. |
…ush-evict-all" Signed-off-by: Mingxin Liu <mingxin@xsky.com>
dd4d80f
to
bcc3ec0
Compare
@athanatos updated, please review, thanks a lot. |
@@ -220,6 +220,8 @@ void usage(ostream& out) | |||
" --read-percent percent of operations that are read\n" | |||
" --target-throughput target throughput (in bytes)\n" | |||
" --run-length total time (in seconds)\n" | |||
"CACHE POOLS OPTIONS:\n" | |||
" --with-clones include its elder clones to flush/evict\n" |
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.
include clones when doing flush or evict
Aside from the usage string, this looks good! |
@liewegas thanks! |
…sh/cache-evict Signed-off-by: Mingxin Liu <mingxin@xsky.com>
Signed-off-by: Mingxin Liu <mingxin@xsky.com>
bcc3ec0
to
383177b
Compare
tested in http://pulpito.ceph.com/kchai-2016-07-10_07:48:29-rados-wip-kefu-testing---basic-mira/ the non-environmental failures are addressed by #10234 . |
if a cache tier has snaps, or image existing in the pool has self-manage snaps,after io workload, there maybe lots of clone objects. in current logic, when excuting "rados cache-flush", will get an -EBUSY error if clone objects is dirty. when excuting "rados cache-evcit" will get an -EBUSY error if clone exists. it's not very comfortable to flush/evict clones one by one, in addition, for self-manage snapshot, like rbd snapshot, we cannot specify snap in rados command tool. this patch make all these older clones to be flushing/evicting when excuting "rados cache-flush/evict", after clones has flushed/evicted, the op will go through.
Signed-off-by: Mingxin Liu mingxin@xsky.com