Vitaliy Filippov
ce5b6253ab
Make OSDs stick to the last successful etcd address
...
Previously OSDs were selecting a new random etcd from the cluster
on every request so they were failing randomly when part of etcds was down
2021-11-27 23:48:56 +03:00
Vitaliy Filippov
fea451b4db
Prefer local etcd in OSD
2021-11-27 00:36:53 +03:00
Vitaliy Filippov
8e445ddc9a
Begin to implement CLI: implement listing, add help, add create stub
2021-11-06 14:32:19 +03:00
Vitaliy Filippov
74cb3911db
Rebase children of the "inverse" child when it is removed, change /index/image/%s keys during metadata ops
2021-09-26 13:41:48 +03:00
Vitaliy Filippov
5010b0dd75
Use json11 instead of blockstore_config_t
2021-04-30 00:52:46 +03:00
Vitaliy Filippov
6950b8e3a0
Watch inode metadata revisions
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
2612d3198a
Introduce image names and metadata storage in etcd
...
Each inode has: image name, parent inode number & pool, size and readonly flag
Snapshots are created by switching image name to a different inode number
while using the older inode as parent.
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
691f066055
Actual snapshot support (untested)
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
a48e2bbf18
Fix write replay ordering when immediate_commit != all
...
Previous implementation didn't respect write ordering and could lead
to corrupted data when restarting writes after an OSD outage
Also rework cluster_client queueing logic and add tests for it to verify the correct behaviour
2021-04-03 14:51:52 +03:00
Vitaliy Filippov
3e162d95a0
Remove http_client.h include from etcd_state_client.h
2021-04-03 14:36:04 +03:00
Vitaliy Filippov
9ac7e75178
Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio
2021-03-16 12:48:26 +03:00
Vitaliy Filippov
bc742ccf8c
Fix a small memory leak in etcd_state_client
2021-03-08 17:04:10 +03:00
Vitaliy Filippov
bf9a175efc
Move C/C++ sources to src subdirectory
2021-02-25 23:59:03 +03:00