Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d6eeec6a4 |
@@ -1,8 +1,6 @@
|
|||||||
// Copyright (c) Vitaliy Filippov, 2019+
|
// Copyright (c) Vitaliy Filippov, 2019+
|
||||||
// License: VNPL-1.1 (see README.md for details)
|
// License: VNPL-1.1 (see README.md for details)
|
||||||
|
|
||||||
#define _LARGEFILE64_SOURCE
|
|
||||||
|
|
||||||
#include "malloc_or_die.h"
|
#include "malloc_or_die.h"
|
||||||
#include "osd_peering_pg.h"
|
#include "osd_peering_pg.h"
|
||||||
#define STRIPE_SHIFT 12
|
#define STRIPE_SHIFT 12
|
||||||
@@ -22,13 +20,20 @@
|
|||||||
*/
|
*/
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
setvbuf(stdout, NULL, _IONBF, 0);
|
||||||
|
setvbuf(stderr, NULL, _IONBF, 0);
|
||||||
pg_t pg = {
|
pg_t pg = {
|
||||||
.state = PG_PEERING,
|
.state = PG_PEERING,
|
||||||
|
.scheme = POOL_SCHEME_EC,
|
||||||
|
.pg_size = 3,
|
||||||
|
.pg_minsize = 2,
|
||||||
|
.pg_data_size = 2,
|
||||||
.pg_num = 1,
|
.pg_num = 1,
|
||||||
.target_set = { 1, 2, 3 },
|
.target_set = { 1, 2, 3 },
|
||||||
.cur_set = { 1, 2, 3 },
|
.cur_set = { 1, 2, 3 },
|
||||||
.peering_state = new pg_peering_state_t(),
|
.peering_state = new pg_peering_state_t(),
|
||||||
};
|
};
|
||||||
|
printf("generating\n");
|
||||||
for (uint64_t osd_num = 1; osd_num <= 3; osd_num++)
|
for (uint64_t osd_num = 1; osd_num <= 3; osd_num++)
|
||||||
{
|
{
|
||||||
pg_list_result_t r = {
|
pg_list_result_t r = {
|
||||||
@@ -48,8 +53,15 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
pg.peering_state->list_results[osd_num] = r;
|
pg.peering_state->list_results[osd_num] = r;
|
||||||
}
|
}
|
||||||
|
printf("calculating states\n");
|
||||||
|
timespec tv0;
|
||||||
|
clock_gettime(CLOCK_REALTIME, &tv0);
|
||||||
pg.calc_object_states(0);
|
pg.calc_object_states(0);
|
||||||
printf("deviation variants=%jd clean=%ju\n", pg.state_dict.size(), pg.clean_count);
|
timespec tv1;
|
||||||
|
clock_gettime(CLOCK_REALTIME, &tv1);
|
||||||
|
printf("%.2f deviation variants=%jd clean=%ju\n",
|
||||||
|
(tv1.tv_sec - tv0.tv_sec + tv1.tv_nsec/1000000000.0 - tv0.tv_nsec/1000000000.0),
|
||||||
|
pg.state_dict.size(), pg.clean_count);
|
||||||
for (auto it: pg.state_dict)
|
for (auto it: pg.state_dict)
|
||||||
{
|
{
|
||||||
printf("dev: state=%jx\n", it.second.state);
|
printf("dev: state=%jx\n", it.second.state);
|
||||||
|
|||||||
Reference in New Issue
Block a user