forked from lei.chen/myxce
feat(config-upgrade-snapshot): restore host admin-state frame safely (create-if-missing)
Adds restore_host_state(cluster_t*, const char*, uint32_t admin_status) to worker.c: OR's admin bits into an existing worker's status on hit; on miss, creates a minimal XCE_WORKER_UNAVAIL placeholder via makeWorker (mirroring the lost_and_found sentinel host precedent), with a valid non-NULL hostattrs_t so the host's later real join routes through rejoin_worker (not init_worker) and preserves the restored admin status. Idempotent under retry (find first, create only if missing). Standalone -- not yet wired into load_snapshot (task 4). Requirements: 1.10, 1.11, 5.8
This commit is contained in:
parent
387ea35c9f
commit
5b1600a8b2
6 changed files with 467 additions and 1 deletions
|
|
@ -13,5 +13,6 @@ extern int init_worker(cluster_t*, endpoint_t*, const char*,
|
|||
extern int rejoin_worker(cluster_t*, worker_t*, endpoint_t*,
|
||||
hostattrs_t*, xce_hostconfig_t*);
|
||||
extern int restore_worker(void*, xce_worker_t);
|
||||
extern int restore_host_state(cluster_t*, const char*, uint32_t);
|
||||
extern int worker_from_capnp(cluster_t*, const void*, size_t);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue