WIP VitastorFS with metadata storage in VitastorKV
Test / buildenv (push) Successful in 11s
Details
Test / build (push) Successful in 3m57s
Details
Test / test_cas (push) Successful in 8s
Details
Test / make_test (push) Successful in 35s
Details
Test / test_change_pg_count (push) Successful in 38s
Details
Test / test_change_pg_size (push) Successful in 9s
Details
Test / test_change_pg_count_ec (push) Successful in 40s
Details
Test / test_create_nomaxid (push) Successful in 8s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m19s
Details
Test / test_add_osd (push) Successful in 2m43s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m21s
Details
Test / test_failure_domain (push) Successful in 9s
Details
Test / test_snapshot (push) Successful in 20s
Details
Test / test_snapshot_ec (push) Successful in 23s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 3m26s
Details
Test / test_etcd_fail (push) Successful in 5m51s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_chain (push) Successful in 1m38s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m0s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m28s
Details
Test / test_interrupted_rebalance (push) Failing after 10m7s
Details
Test / test_write (push) Successful in 39s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m52s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m35s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_rebalance_verify (push) Successful in 6m48s
Details
Test / test_write_xor (push) Failing after 3m10s
Details
Test / test_heal_ec (push) Successful in 4m21s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m33s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m6s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m52s
Details
Test / test_heal_csum_32k (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m20s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 37s
Details
Test / test_scrub (push) Successful in 40s
Details
Test / test_scrub_xor (push) Successful in 53s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m12s
Details
Test / test_scrub_pg_size_3 (push) Failing after 1m54s
Details
Test / test_scrub_ec (push) Successful in 1m12s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m46s
Details
Test / test_heal_csum_4k (push) Successful in 6m16s
Details
Test / buildenv (push) Successful in 11s
Details
Test / build (push) Successful in 3m57s
Details
Test / test_cas (push) Successful in 8s
Details
Test / make_test (push) Successful in 35s
Details
Test / test_change_pg_count (push) Successful in 38s
Details
Test / test_change_pg_size (push) Successful in 9s
Details
Test / test_change_pg_count_ec (push) Successful in 40s
Details
Test / test_create_nomaxid (push) Successful in 8s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m19s
Details
Test / test_add_osd (push) Successful in 2m43s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m21s
Details
Test / test_failure_domain (push) Successful in 9s
Details
Test / test_snapshot (push) Successful in 20s
Details
Test / test_snapshot_ec (push) Successful in 23s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 3m26s
Details
Test / test_etcd_fail (push) Successful in 5m51s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_chain (push) Successful in 1m38s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m0s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m28s
Details
Test / test_interrupted_rebalance (push) Failing after 10m7s
Details
Test / test_write (push) Successful in 39s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m52s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m35s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_rebalance_verify (push) Successful in 6m48s
Details
Test / test_write_xor (push) Failing after 3m10s
Details
Test / test_heal_ec (push) Successful in 4m21s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m33s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m6s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m52s
Details
Test / test_heal_csum_32k (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m20s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 37s
Details
Test / test_scrub (push) Successful in 40s
Details
Test / test_scrub_xor (push) Successful in 53s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m12s
Details
Test / test_scrub_pg_size_3 (push) Failing after 1m54s
Details
Test / test_scrub_ec (push) Successful in 1m12s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m46s
Details
Test / test_heal_csum_4k (push) Successful in 6m16s
Details
parent
37915d8315
commit
576694c780
|
@ -181,23 +181,29 @@ target_link_libraries(vitastor-nbd
|
|||
vitastor_client
|
||||
)
|
||||
|
||||
# vitastor-kv
|
||||
add_executable(vitastor-kv
|
||||
kv_cli.cpp
|
||||
# libvitastor_kv.so
|
||||
add_library(vitastor_kv SHARED
|
||||
kv_db.cpp
|
||||
kv_db.h
|
||||
)
|
||||
target_link_libraries(vitastor-kv
|
||||
target_link_libraries(vitastor_kv
|
||||
vitastor_client
|
||||
)
|
||||
set_target_properties(vitastor_kv PROPERTIES VERSION ${VERSION} SOVERSION 0)
|
||||
|
||||
# vitastor-kv
|
||||
add_executable(vitastor-kv
|
||||
kv_cli.cpp
|
||||
)
|
||||
target_link_libraries(vitastor-kv
|
||||
vitastor_kv
|
||||
)
|
||||
|
||||
add_executable(vitastor-kv-stress
|
||||
kv_stress.cpp
|
||||
kv_db.cpp
|
||||
kv_db.h
|
||||
)
|
||||
target_link_libraries(vitastor-kv-stress
|
||||
vitastor_client
|
||||
vitastor_kv
|
||||
)
|
||||
|
||||
# vitastor-nfs
|
||||
|
@ -213,6 +219,7 @@ add_executable(vitastor-nfs
|
|||
)
|
||||
target_link_libraries(vitastor-nfs
|
||||
vitastor_client
|
||||
vitastor_kv
|
||||
)
|
||||
|
||||
# vitastor-cli
|
||||
|
|
2178
src/nfs_conn.cpp
2178
src/nfs_conn.cpp
File diff suppressed because it is too large
Load Diff
|
@ -4,6 +4,7 @@
|
|||
#include "epoll_manager.h"
|
||||
#include "nfs_portmap.h"
|
||||
#include "nfs/xdr_impl.h"
|
||||
#include "kv_db.h"
|
||||
|
||||
#define RPC_INIT_BUF_SIZE 32768
|
||||
|
||||
|
@ -16,6 +17,22 @@ struct nfs_dir_t
|
|||
timespec mtime;
|
||||
};
|
||||
|
||||
struct list_cookie_t
|
||||
{
|
||||
uint64_t dir_ino, cookieverf, cookie;
|
||||
};
|
||||
|
||||
inline bool operator < (const list_cookie_t & a, const list_cookie_t & b)
|
||||
{
|
||||
return a.dir_ino < b.dir_ino || a.dir_ino == b.dir_ino &&
|
||||
(a.cookieverf < b.cookieverf || a.cookieverf == b.cookieverf && a.cookie < b.cookie);
|
||||
};
|
||||
|
||||
struct list_cookie_val_t
|
||||
{
|
||||
std::string key;
|
||||
};
|
||||
|
||||
class nfs_proxy_t
|
||||
{
|
||||
public:
|
||||
|
@ -27,6 +44,7 @@ public:
|
|||
std::string export_root;
|
||||
bool portmap_enabled;
|
||||
unsigned nfs_port;
|
||||
int readdir_getattr_parallel = 8, id_alloc_batch_size = 200;
|
||||
|
||||
pool_id_t default_pool_id;
|
||||
|
||||
|
@ -35,6 +53,12 @@ public:
|
|||
epoll_manager_t *epmgr = NULL;
|
||||
cluster_client_t *cli = NULL;
|
||||
cli_tool_t *cmd = NULL;
|
||||
kv_dbw_t *db = NULL;
|
||||
uint64_t root_uid = 0, root_gid = 0;
|
||||
std::map<list_cookie_t, list_cookie_val_t> list_cookies;
|
||||
uint64_t fs_min_id = 0, fs_max_id = 0;
|
||||
uint64_t fs_next_id = 0, fs_allocated_id = 0;
|
||||
std::vector<uint64_t> unallocated_ids;
|
||||
|
||||
std::vector<XDR*> xdr_pool;
|
||||
|
||||
|
@ -106,6 +130,8 @@ struct extend_write_t
|
|||
struct extend_inode_t
|
||||
{
|
||||
uint64_t cur_extend = 0, next_extend = 0;
|
||||
std::string old_ientry;
|
||||
json11::Json::object attrs;
|
||||
};
|
||||
|
||||
class nfs_client_t
|
||||
|
|
Loading…
Reference in New Issue