vector<ghobject_t> objects;
ghobject_t max;
while (!max.is_max()) {
- r = collection_list(cid, max, ghobject_t::get_max(), 300, &objects, &max);
+ r = collection_list(cid, max, ghobject_t::get_max(), true, 300, &objects, &max);
if (r < 0)
goto out;
}
int KeyValueStore::collection_list(coll_t c, ghobject_t start,
- ghobject_t end, int max,
+ ghobject_t end, bool sort_bitwise, int max,
vector<ghobject_t> *ls, ghobject_t *next)
{
- if ( max < 0)
- return -EINVAL;
+ if (!sort_bitwise)
+ return -EOPNOTSUPP;
+
+ if (max < 0)
+ return -EINVAL;
if (start.is_max())
- return 0;
+ return 0;
int r = backend->list_objects(c, start, end, max, ls, next);
-
return r;
}
ghobject_t next, current;
int move_size = 0;
while (1) {
- collection_list(cid, current, ghobject_t::get_max(),
+ collection_list(cid, current, ghobject_t::get_max(), true,
get_ideal_list_max(), &objects, &next);
dout(20) << __func__ << cid << "objects size: " << objects.size()
vector<ghobject_t> objects;
ghobject_t next;
while (1) {
- collection_list(cid, next, ghobject_t::get_max(),
+ collection_list(cid, next, ghobject_t::get_max(), true,
get_ideal_list_max(), &objects, &next);
if (objects.empty())
break;
next = ghobject_t();
while (1) {
- collection_list(dest, next, ghobject_t::get_max(),
+ collection_list(dest, next, ghobject_t::get_max(), true,
get_ideal_list_max(), &objects, &next);
if (objects.empty())
break;
bool collection_exists(coll_t c);
bool collection_empty(coll_t c);
int collection_list(coll_t c, ghobject_t start, ghobject_t end,
- int max,
+ bool sort_bitwise, int max,
vector<ghobject_t> *ls, ghobject_t *next);
int collection_version_current(coll_t c, uint32_t *version);