This patch series introduces pmxcfs-rs, a complete rewrite of the Proxmox 
cluster filesystem (pmxcfs) in Rust.

Motivation
The primary goal of this rewrite is to improve long-term maintainability.

Compatibility
The new implementation maintains full compatibility with existing pmxcfs 
functionality, ensuring a smooth transition path for current deployment.

Dependencies
This work depends on changes in two upstream projects:

* proxmox-fuse-rs: Requires a change introducing the rename operation, but this 
change is not yet included in any release
* rust-corosync: Requires changes currently under review at 
https://github.com/corosync/corosync/pull/810
  This crate is vendored in this project at this moment. I will drop it
  once a release with the fix is out.

Testing Strategy
We have implemented comprehensive testing across three levels:

* Unit tests: Per-crate tests for individual components
* Integration tests: Mock-based testing of component interactions
* Container-based integration tests:
  - Single-node tests with Rust implementation
  - Multi-node tests with Rust-only clusters
  - Mixed-environment tests with both Rust and C nodes to verify 
interoperability

The mixed-environment tests are particularly important for validating backwards 
compatibility and enabling gradual migration in production clusters.

The change can also be found at 
[email protected]:staff/k.chai/pve-cluster, pmxfs-rs.

Feedback and review are welcome.


Kefu Chai (15):
  pmxcfs-rs: add workspace and pmxcfs-api-types crate
  pmxcfs-rs: add pmxcfs-config crate
  pmxcfs-rs: add pmxcfs-logger crate
  pmxcfs-rs: add pmxcfs-rrd crate
  pmxcfs-rs: add pmxcfs-memdb crate
  pmxcfs-rs: add pmxcfs-status crate
  pmxcfs-rs: add pmxcfs-test-utils infrastructure crate
  pmxcfs-rs: add pmxcfs-services crate
  pmxcfs-rs: add pmxcfs-ipc crate
  pmxcfs-rs: add pmxcfs-dfsm crate
  pmxcfs-rs: vendor patched rust-corosync for CPG compatibility
  pmxcfs-rs: add pmxcfs main daemon binary
  pmxcfs-rs: add integration and workspace tests
  pmxcfs-rs: add Makefile for build automation
  pmxcfs-rs: add project documentation

 src/pmxcfs-rs/.gitignore                      |    1 +
 src/pmxcfs-rs/ARCHITECTURE.txt                |  350 ++
 src/pmxcfs-rs/Cargo.lock                      | 2067 ++++++++++
 src/pmxcfs-rs/Cargo.toml                      |  100 +
 src/pmxcfs-rs/Makefile                        |   39 +
 src/pmxcfs-rs/README.md                       |  235 ++
 src/pmxcfs-rs/integration-tests/.gitignore    |    1 +
 src/pmxcfs-rs/integration-tests/README.md     |  367 ++
 .../integration-tests/docker/.dockerignore    |   17 +
 .../integration-tests/docker/Dockerfile       |   95 +
 .../integration-tests/docker/debian.sources   |    5 +
 .../docker/docker-compose.cluster.yml         |  115 +
 .../docker/docker-compose.mixed.yml           |  123 +
 .../docker/docker-compose.yml                 |   54 +
 .../integration-tests/docker/healthcheck.sh   |   19 +
 .../docker/lib/corosync.conf.mixed.template   |   46 +
 .../docker/lib/corosync.conf.template         |   45 +
 .../docker/lib/setup-cluster.sh               |   67 +
 .../docker/proxmox-archive-keyring.gpg        |  Bin 0 -> 2372 bytes
 .../docker/pve-no-subscription.sources        |    5 +
 .../docker/start-cluster-node.sh              |  135 +
 src/pmxcfs-rs/integration-tests/run-tests.sh  |  454 +++
 src/pmxcfs-rs/integration-tests/test          |  238 ++
 src/pmxcfs-rs/integration-tests/test-local    |  333 ++
 .../tests/cluster/01-connectivity.sh          |   56 +
 .../tests/cluster/02-file-sync.sh             |  216 ++
 .../tests/cluster/03-clusterlog-sync.sh       |  297 ++
 .../tests/cluster/04-binary-format-sync.sh    |  355 ++
 .../tests/core/01-test-paths.sh               |   74 +
 .../tests/core/02-plugin-version.sh           |   87 +
 .../integration-tests/tests/dfsm/01-sync.sh   |  218 ++
 .../tests/dfsm/02-multi-node.sh               |  159 +
 .../tests/fuse/01-operations.sh               |  100 +
 .../tests/ipc/01-socket-api.sh                |  104 +
 .../tests/ipc/02-flow-control.sh              |   89 +
 .../tests/locks/01-lock-management.sh         |  134 +
 .../tests/logger/01-clusterlog-basic.sh       |  119 +
 .../integration-tests/tests/logger/README.md  |   54 +
 .../tests/memdb/01-access.sh                  |  103 +
 .../tests/mixed-cluster/01-node-types.sh      |  135 +
 .../tests/mixed-cluster/02-file-sync.sh       |  180 +
 .../tests/mixed-cluster/03-quorum.sh          |  149 +
 .../tests/plugins/01-plugin-files.sh          |  146 +
 .../tests/plugins/02-clusterlog-plugin.sh     |  355 ++
 .../tests/plugins/03-plugin-write.sh          |  197 +
 .../integration-tests/tests/plugins/README.md |   52 +
 .../tests/rrd/01-rrd-basic.sh                 |   93 +
 .../tests/rrd/02-schema-validation.sh         |  409 ++
 .../tests/rrd/03-rrdcached-integration.sh     |  367 ++
 .../integration-tests/tests/rrd/README.md     |  164 +
 .../integration-tests/tests/run-c-tests.sh    |  321 ++
 .../tests/status/01-status-tracking.sh        |  113 +
 .../tests/status/02-status-operations.sh      |  193 +
 .../tests/status/03-multinode-sync.sh         |  481 +++
 .../integration-tests/tests/test-config.sh    |   88 +
 src/pmxcfs-rs/pmxcfs-api-types/Cargo.toml     |   19 +
 src/pmxcfs-rs/pmxcfs-api-types/README.md      |  105 +
 src/pmxcfs-rs/pmxcfs-api-types/src/lib.rs     |  152 +
 src/pmxcfs-rs/pmxcfs-config/Cargo.toml        |   16 +
 src/pmxcfs-rs/pmxcfs-config/README.md         |  127 +
 src/pmxcfs-rs/pmxcfs-config/src/lib.rs        |  471 +++
 src/pmxcfs-rs/pmxcfs-dfsm/Cargo.toml          |   45 +
 src/pmxcfs-rs/pmxcfs-dfsm/README.md           |  340 ++
 src/pmxcfs-rs/pmxcfs-dfsm/src/callbacks.rs    |   52 +
 .../src/cluster_database_service.rs           |  116 +
 src/pmxcfs-rs/pmxcfs-dfsm/src/cpg_service.rs  |  163 +
 src/pmxcfs-rs/pmxcfs-dfsm/src/dfsm_message.rs |  728 ++++
 src/pmxcfs-rs/pmxcfs-dfsm/src/fuse_message.rs |  185 +
 .../pmxcfs-dfsm/src/kv_store_message.rs       |  329 ++
 src/pmxcfs-rs/pmxcfs-dfsm/src/lib.rs          |   32 +
 src/pmxcfs-rs/pmxcfs-dfsm/src/message.rs      |   21 +
 .../pmxcfs-dfsm/src/state_machine.rs          | 1013 +++++
 .../pmxcfs-dfsm/src/status_sync_service.rs    |  118 +
 src/pmxcfs-rs/pmxcfs-dfsm/src/types.rs        |  107 +
 src/pmxcfs-rs/pmxcfs-dfsm/src/wire_format.rs  |  220 ++
 .../tests/multi_node_sync_tests.rs            |  565 +++
 src/pmxcfs-rs/pmxcfs-ipc/Cargo.toml           |   44 +
 src/pmxcfs-rs/pmxcfs-ipc/README.md            |  182 +
 .../pmxcfs-ipc/examples/test_server.rs        |   92 +
 src/pmxcfs-rs/pmxcfs-ipc/src/connection.rs    |  657 ++++
 src/pmxcfs-rs/pmxcfs-ipc/src/handler.rs       |   93 +
 src/pmxcfs-rs/pmxcfs-ipc/src/lib.rs           |   37 +
 src/pmxcfs-rs/pmxcfs-ipc/src/protocol.rs      |  332 ++
 src/pmxcfs-rs/pmxcfs-ipc/src/ringbuffer.rs    | 1158 ++++++
 src/pmxcfs-rs/pmxcfs-ipc/src/server.rs        |  278 ++
 src/pmxcfs-rs/pmxcfs-ipc/src/socket.rs        |   84 +
 src/pmxcfs-rs/pmxcfs-ipc/tests/auth_test.rs   |  450 +++
 .../pmxcfs-ipc/tests/qb_wire_compat.rs        |  413 ++
 src/pmxcfs-rs/pmxcfs-logger/Cargo.toml        |   15 +
 src/pmxcfs-rs/pmxcfs-logger/README.md         |   58 +
 .../pmxcfs-logger/src/cluster_log.rs          |  550 +++
 src/pmxcfs-rs/pmxcfs-logger/src/entry.rs      |  579 +++
 src/pmxcfs-rs/pmxcfs-logger/src/hash.rs       |  173 +
 src/pmxcfs-rs/pmxcfs-logger/src/lib.rs        |   27 +
 .../pmxcfs-logger/src/ring_buffer.rs          |  581 +++
 src/pmxcfs-rs/pmxcfs-memdb/Cargo.toml         |   42 +
 src/pmxcfs-rs/pmxcfs-memdb/README.md          |  220 ++
 src/pmxcfs-rs/pmxcfs-memdb/src/database.rs    | 2227 +++++++++++
 src/pmxcfs-rs/pmxcfs-memdb/src/index.rs       |  814 ++++
 src/pmxcfs-rs/pmxcfs-memdb/src/lib.rs         |   26 +
 src/pmxcfs-rs/pmxcfs-memdb/src/locks.rs       |  286 ++
 src/pmxcfs-rs/pmxcfs-memdb/src/sync.rs        |  249 ++
 src/pmxcfs-rs/pmxcfs-memdb/src/traits.rs      |  101 +
 src/pmxcfs-rs/pmxcfs-memdb/src/types.rs       |  325 ++
 src/pmxcfs-rs/pmxcfs-memdb/src/vmlist.rs      |  189 +
 .../pmxcfs-memdb/tests/checksum_test.rs       |  158 +
 .../tests/sync_integration_tests.rs           |  394 ++
 src/pmxcfs-rs/pmxcfs-rrd/Cargo.toml           |   18 +
 src/pmxcfs-rs/pmxcfs-rrd/README.md            |   51 +
 src/pmxcfs-rs/pmxcfs-rrd/src/backend.rs       |   67 +
 .../pmxcfs-rrd/src/backend/backend_daemon.rs  |  214 ++
 .../pmxcfs-rrd/src/backend/backend_direct.rs  |  606 +++
 .../src/backend/backend_fallback.rs           |  229 ++
 src/pmxcfs-rs/pmxcfs-rrd/src/daemon.rs        |  140 +
 src/pmxcfs-rs/pmxcfs-rrd/src/key_type.rs      |  313 ++
 src/pmxcfs-rs/pmxcfs-rrd/src/lib.rs           |   21 +
 src/pmxcfs-rs/pmxcfs-rrd/src/schema.rs        |  577 +++
 src/pmxcfs-rs/pmxcfs-rrd/src/writer.rs        |  397 ++
 src/pmxcfs-rs/pmxcfs-services/Cargo.toml      |   17 +
 src/pmxcfs-rs/pmxcfs-services/README.md       |  167 +
 src/pmxcfs-rs/pmxcfs-services/src/error.rs    |   37 +
 src/pmxcfs-rs/pmxcfs-services/src/lib.rs      |   16 +
 src/pmxcfs-rs/pmxcfs-services/src/manager.rs  |  477 +++
 src/pmxcfs-rs/pmxcfs-services/src/service.rs  |  173 +
 .../pmxcfs-services/tests/service_tests.rs    |  808 ++++
 src/pmxcfs-rs/pmxcfs-status/Cargo.toml        |   40 +
 src/pmxcfs-rs/pmxcfs-status/README.md         |  142 +
 src/pmxcfs-rs/pmxcfs-status/src/lib.rs        |   54 +
 src/pmxcfs-rs/pmxcfs-status/src/status.rs     | 1561 ++++++++
 src/pmxcfs-rs/pmxcfs-status/src/traits.rs     |  486 +++
 src/pmxcfs-rs/pmxcfs-status/src/types.rs      |   62 +
 src/pmxcfs-rs/pmxcfs-test-utils/Cargo.toml    |   34 +
 src/pmxcfs-rs/pmxcfs-test-utils/src/lib.rs    |  526 +++
 .../pmxcfs-test-utils/src/mock_memdb.rs       |  636 ++++
 src/pmxcfs-rs/pmxcfs/Cargo.toml               |   81 +
 src/pmxcfs-rs/pmxcfs/README.md                |  174 +
 .../pmxcfs/src/cluster_config_service.rs      |  317 ++
 src/pmxcfs-rs/pmxcfs/src/daemon.rs            |  314 ++
 src/pmxcfs-rs/pmxcfs/src/file_lock.rs         |  105 +
 src/pmxcfs-rs/pmxcfs/src/fuse/README.md       |  199 +
 src/pmxcfs-rs/pmxcfs/src/fuse/filesystem.rs   | 1360 +++++++
 src/pmxcfs-rs/pmxcfs/src/fuse/mod.rs          |    4 +
 src/pmxcfs-rs/pmxcfs/src/ipc/mod.rs           |   16 +
 src/pmxcfs-rs/pmxcfs/src/ipc/request.rs       |  249 ++
 src/pmxcfs-rs/pmxcfs/src/ipc/service.rs       |  622 +++
 src/pmxcfs-rs/pmxcfs/src/lib.rs               |   13 +
 src/pmxcfs-rs/pmxcfs/src/logging.rs           |   44 +
 src/pmxcfs-rs/pmxcfs/src/main.rs              |  645 ++++
 src/pmxcfs-rs/pmxcfs/src/memdb_callbacks.rs   |  581 +++
 src/pmxcfs-rs/pmxcfs/src/plugins/README.md    |  203 +
 .../pmxcfs/src/plugins/clusterlog.rs          |  286 ++
 src/pmxcfs-rs/pmxcfs/src/plugins/debug.rs     |  145 +
 src/pmxcfs-rs/pmxcfs/src/plugins/members.rs   |  194 +
 src/pmxcfs-rs/pmxcfs/src/plugins/mod.rs       |   30 +
 src/pmxcfs-rs/pmxcfs/src/plugins/registry.rs  |  307 ++
 src/pmxcfs-rs/pmxcfs/src/plugins/rrd.rs       |   95 +
 src/pmxcfs-rs/pmxcfs/src/plugins/types.rs     |  112 +
 src/pmxcfs-rs/pmxcfs/src/plugins/version.rs   |  175 +
 src/pmxcfs-rs/pmxcfs/src/plugins/vmlist.rs    |  118 +
 src/pmxcfs-rs/pmxcfs/src/quorum_service.rs    |  207 +
 src/pmxcfs-rs/pmxcfs/src/restart_flag.rs      |   60 +
 src/pmxcfs-rs/pmxcfs/src/status_callbacks.rs  |  330 ++
 src/pmxcfs-rs/pmxcfs/tests/common/mod.rs      |  210 ++
 src/pmxcfs-rs/pmxcfs/tests/fuse_basic_test.rs |  215 ++
 .../pmxcfs/tests/fuse_cluster_test.rs         |  230 ++
 .../pmxcfs/tests/fuse_integration_test.rs     |  423 +++
 src/pmxcfs-rs/pmxcfs/tests/fuse_locks_test.rs |  385 ++
 .../pmxcfs/tests/local_integration.rs         |  277 ++
 src/pmxcfs-rs/pmxcfs/tests/quorum_behavior.rs |  273 ++
 .../pmxcfs/tests/single_node_functional.rs    |  351 ++
 .../pmxcfs/tests/symlink_quorum_test.rs       |  156 +
 src/pmxcfs-rs/vendor/rust-corosync/Cargo.toml |   33 +
 .../vendor/rust-corosync/Cargo.toml.orig      |   19 +
 src/pmxcfs-rs/vendor/rust-corosync/LICENSE    |   21 +
 .../vendor/rust-corosync/README.PATCH.md      |   36 +
 src/pmxcfs-rs/vendor/rust-corosync/README.md  |   13 +
 src/pmxcfs-rs/vendor/rust-corosync/build.rs   |   64 +
 .../vendor/rust-corosync/regenerate-sys.sh    |   15 +
 src/pmxcfs-rs/vendor/rust-corosync/src/cfg.rs |  392 ++
 .../vendor/rust-corosync/src/cmap.rs          |  812 ++++
 src/pmxcfs-rs/vendor/rust-corosync/src/cpg.rs |  657 ++++
 src/pmxcfs-rs/vendor/rust-corosync/src/lib.rs |  297 ++
 .../vendor/rust-corosync/src/quorum.rs        |  337 ++
 .../vendor/rust-corosync/src/sys/cfg.rs       | 1239 ++++++
 .../vendor/rust-corosync/src/sys/cmap.rs      | 3323 +++++++++++++++++
 .../vendor/rust-corosync/src/sys/cpg.rs       | 1310 +++++++
 .../vendor/rust-corosync/src/sys/mod.rs       |    8 +
 .../vendor/rust-corosync/src/sys/quorum.rs    |  537 +++
 .../rust-corosync/src/sys/votequorum.rs       |  574 +++
 .../vendor/rust-corosync/src/votequorum.rs    |  556 +++
 190 files changed, 53895 insertions(+)
 create mode 100644 src/pmxcfs-rs/.gitignore
 create mode 100644 src/pmxcfs-rs/ARCHITECTURE.txt
 create mode 100644 src/pmxcfs-rs/Cargo.lock
 create mode 100644 src/pmxcfs-rs/Cargo.toml
 create mode 100644 src/pmxcfs-rs/Makefile
 create mode 100644 src/pmxcfs-rs/README.md
 create mode 100644 src/pmxcfs-rs/integration-tests/.gitignore
 create mode 100644 src/pmxcfs-rs/integration-tests/README.md
 create mode 100644 src/pmxcfs-rs/integration-tests/docker/.dockerignore
 create mode 100644 src/pmxcfs-rs/integration-tests/docker/Dockerfile
 create mode 100644 src/pmxcfs-rs/integration-tests/docker/debian.sources
 create mode 100644 
src/pmxcfs-rs/integration-tests/docker/docker-compose.cluster.yml
 create mode 100644 
src/pmxcfs-rs/integration-tests/docker/docker-compose.mixed.yml
 create mode 100644 src/pmxcfs-rs/integration-tests/docker/docker-compose.yml
 create mode 100644 src/pmxcfs-rs/integration-tests/docker/healthcheck.sh
 create mode 100644 
src/pmxcfs-rs/integration-tests/docker/lib/corosync.conf.mixed.template
 create mode 100644 
src/pmxcfs-rs/integration-tests/docker/lib/corosync.conf.template
 create mode 100755 src/pmxcfs-rs/integration-tests/docker/lib/setup-cluster.sh
 create mode 100644 
src/pmxcfs-rs/integration-tests/docker/proxmox-archive-keyring.gpg
 create mode 100644 
src/pmxcfs-rs/integration-tests/docker/pve-no-subscription.sources
 create mode 100755 src/pmxcfs-rs/integration-tests/docker/start-cluster-node.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/run-tests.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/test
 create mode 100755 src/pmxcfs-rs/integration-tests/test-local
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/cluster/01-connectivity.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/cluster/02-file-sync.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/cluster/03-clusterlog-sync.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/cluster/04-binary-format-sync.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/core/01-test-paths.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/core/02-plugin-version.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/dfsm/01-sync.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/dfsm/02-multi-node.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/fuse/01-operations.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/ipc/01-socket-api.sh
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/ipc/02-flow-control.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/locks/01-lock-management.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/logger/01-clusterlog-basic.sh
 create mode 100644 src/pmxcfs-rs/integration-tests/tests/logger/README.md
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/memdb/01-access.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/mixed-cluster/01-node-types.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/mixed-cluster/02-file-sync.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/mixed-cluster/03-quorum.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/plugins/01-plugin-files.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/plugins/02-clusterlog-plugin.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/plugins/03-plugin-write.sh
 create mode 100644 src/pmxcfs-rs/integration-tests/tests/plugins/README.md
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/rrd/01-rrd-basic.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/rrd/02-schema-validation.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/rrd/03-rrdcached-integration.sh
 create mode 100644 src/pmxcfs-rs/integration-tests/tests/rrd/README.md
 create mode 100755 src/pmxcfs-rs/integration-tests/tests/run-c-tests.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/status/01-status-tracking.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/status/02-status-operations.sh
 create mode 100755 
src/pmxcfs-rs/integration-tests/tests/status/03-multinode-sync.sh
 create mode 100644 src/pmxcfs-rs/integration-tests/tests/test-config.sh
 create mode 100644 src/pmxcfs-rs/pmxcfs-api-types/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-api-types/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-api-types/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-config/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-config/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-config/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/callbacks.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/cluster_database_service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/cpg_service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/dfsm_message.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/fuse_message.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/kv_store_message.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/message.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/state_machine.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/status_sync_service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/types.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/src/wire_format.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-dfsm/tests/multi_node_sync_tests.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/examples/test_server.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/connection.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/handler.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/protocol.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/ringbuffer.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/server.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/src/socket.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/tests/auth_test.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-ipc/tests/qb_wire_compat.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/src/cluster_log.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/src/entry.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/src/hash.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-logger/src/ring_buffer.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/database.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/index.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/locks.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/sync.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/traits.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/types.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/src/vmlist.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/tests/checksum_test.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-memdb/tests/sync_integration_tests.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/backend.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/backend/backend_daemon.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/backend/backend_direct.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/backend/backend_fallback.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/daemon.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/key_type.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/schema.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-rrd/src/writer.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/src/error.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/src/manager.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/src/service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-services/tests/service_tests.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-status/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-status/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs-status/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-status/src/status.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-status/src/traits.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-status/src/types.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-test-utils/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs-test-utils/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs-test-utils/src/mock_memdb.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/Cargo.toml
 create mode 100644 src/pmxcfs-rs/pmxcfs/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/cluster_config_service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/daemon.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/file_lock.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/fuse/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/fuse/filesystem.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/fuse/mod.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/ipc/mod.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/ipc/request.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/ipc/service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/lib.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/logging.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/main.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/memdb_callbacks.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/README.md
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/clusterlog.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/debug.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/members.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/mod.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/registry.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/rrd.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/types.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/version.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/plugins/vmlist.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/quorum_service.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/restart_flag.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/src/status_callbacks.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/common/mod.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/fuse_basic_test.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/fuse_cluster_test.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/fuse_integration_test.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/fuse_locks_test.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/local_integration.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/quorum_behavior.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/single_node_functional.rs
 create mode 100644 src/pmxcfs-rs/pmxcfs/tests/symlink_quorum_test.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/Cargo.toml
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/Cargo.toml.orig
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/LICENSE
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/README.PATCH.md
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/README.md
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/build.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/regenerate-sys.sh
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/cfg.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/cmap.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/cpg.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/lib.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/quorum.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/sys/cfg.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/sys/cmap.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/sys/cpg.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/sys/mod.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/sys/quorum.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/sys/votequorum.rs
 create mode 100644 src/pmxcfs-rs/vendor/rust-corosync/src/votequorum.rs

-- 
2.47.3



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to