we can now do a CFS_IPC_SET_STATUS with no data, which results in removal of the entry in the kv entries
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- new in v4 data/PVE/Cluster.pm | 6 ++++++ data/src/status.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/data/PVE/Cluster.pm b/data/PVE/Cluster.pm index 5af11e6..3705a79 100644 --- a/data/PVE/Cluster.pm +++ b/data/PVE/Cluster.pm @@ -432,6 +432,12 @@ my $ipcc_get_status = sub { return PVE::IPCC::ipcc_send_rec(CFS_IPC_GET_STATUS, $bindata); }; +my $ipcc_remove_status = sub { + my ($name) = @_; + my $bindata = pack "Z[256]", $name; + return &$ipcc_send_rec(CFS_IPC_SET_STATUS, $bindata); +}; + my $ipcc_update_status = sub { my ($name, $data) = @_; diff --git a/data/src/status.c b/data/src/status.c index 3a52e9b..e6f8490 100644 --- a/data/src/status.c +++ b/data/src/status.c @@ -792,7 +792,9 @@ kventry_hash_set( g_return_val_if_fail(data != NULL, FALSE); kventry_t *entry; - if ((entry = (kventry_t *)g_hash_table_lookup(kvhash, key))) { + if (!len) { + g_hash_table_remove(kvhash, key); + } else if ((entry = (kventry_t *)g_hash_table_lookup(kvhash, key))) { g_free(entry->data); entry->data = g_memdup(data, len); entry->len = len; -- 2.11.0 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel