On 17.01.23 10:11, Juergen Gross wrote:
Rework the interface and the internals of the per-domain node accounting:- rename the functions to domain_nbentry_*() in order to better match the related counter name - switch from node pointer to domid as interface, as all nodes have the owner filled in - use a common internal function for adding a value to the counter For the transaction case add a helper function to get the list head of the per-transaction changed domains, enabling to eliminate the transaction_entry_*() functions. Signed-off-by: Juergen Gross <jgr...@suse.com> --- V3: - add get_node_owner() (Julien Grall) - rename domain_nbentry_add() parameter (Julien Grall) - avoid negative entry count (Julien Grall) --- tools/xenstore/xenstored_core.c | 33 ++++--- tools/xenstore/xenstored_domain.c | 126 ++++++++++++------------- tools/xenstore/xenstored_domain.h | 10 +- tools/xenstore/xenstored_transaction.c | 15 +-- tools/xenstore/xenstored_transaction.h | 7 +- 5 files changed, 86 insertions(+), 105 deletions(-) diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c index fb4379e67c..561fb121d3 100644 --- a/tools/xenstore/xenstored_core.c +++ b/tools/xenstore/xenstored_core.c @@ -700,6 +700,11 @@ int do_tdb_delete(struct connection *conn, TDB_DATA *key, return 0; }+static unsigned int get_node_owner(const struct node *node)+{ + return node->perms.p[0].id; +}
I have moved this helper as inline function to xenstored_core.h now, as it will be needed in xenstored_domain.c, too. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature