Actions
Feature #13506
openscrub/repair: add librados APIs
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Description
two families of APIs for scrub and repair
use json dict with version number to persist the scrub results.
int get_inconsistent_pools(set<uint64_t>* pools); int get_inconsistent_pgs(uint64_t pool, [paged pgs]); int get_inconsistent( /// OSD op with a flag noting that it's pool op, but it can pass through even if the pg is not "clean" pg_t pgid, epoch_t * cur_interval, // [in, out] [paged inconsistent_t]); [paged foo]: unsigned num_to_return, set<foo>* foos
questions:
1. what type do we use for hobject_t? need name, location, namespace, snap
2. inconsistent_t should be json with scheme -> can probably be the result of inconsistent_t::dump()
.
Updated by Kefu Chai over 8 years ago
- Subject changed from add librados APIs for scrub/repair to scrub/repair: add librados APIs
Updated by Kefu Chai about 8 years ago
- Status changed from New to In Progress
- Assignee set to Kefu Chai
get_inconsistent_pgs()
has been exposed as C API and pybind APIs, but they are not tested by the integration tests. need to add a basic test for it, even we are expectingENOENT
.- should expose
get_inconsistent_objs()
as C API and pybind API, and basic test also. - should not return the scrub result if the scrub is still in progress. we can
- check the status of pg before serving the scrubls pg command, or
- add a sentry scrub object at the end of scrub
Actions