xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] xenstore: support reading directory with many children
@ 2016-10-27  9:55 Juergen Gross
  2016-10-27  9:55 ` [PATCH v2 1/7] xenstore: fix add_change_node() Juergen Gross
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Juergen Gross @ 2016-10-27  9:55 UTC (permalink / raw)
  To: xen-devel
  Cc: Juergen Gross, sstabellini, wei.liu2, George.Dunlap,
	andrew.cooper3, ian.jackson, tim, jbeulich

Reading the children list of a xenstore node with the length of that
list exceeding 4096 bytes is currently not possible. This can be a
problem for a large host with a huge number of domains as Xen tools
will no longer by capable to scan some directories of xenstore (e.g.
/local/domain).

This patch series adds a new xs wire command to read a directory
in multiple chunks. libxenstore is modified in a compatible way to
show an unmodified result in case xenstored doesn't support the new
command.

The patch set has been verified to work by using the following shell script:

xenstore-write /test "test"

for i in `seq 100 500`
do
    xenstore-write /test/entry_with_very_long_name_$i $i
done

xenstore-ls
xenstore-rm /test

Xenstore has been verified to work by starting multiple domain types.
Especially HVM with qemu-stubdom has been tested as this configuration
seems to be rather sensible to concurrent transactions.

Changes in V2:
- complete rework as suggested by Jan Beulich: don't use transactions
  for consistency, but a per-node generation count
- fix a (minor?) problem in transaction code regarding watches (patch 1)

Juergen Gross (7):
  xenstore: fix add_change_node()
  xenstore: modify add_change_node() parameter types
  xenstore: call add_change_node() directly when writing node
  xenstore: use common tdb record header in xenstore
  xenstore: add per-node generation counter
  xenstore: add support for reading directory with many children
  xenstore: support XS_DIRECTORY_PART in libxenstore

 tools/xenstore/include/xenstore_lib.h  |   9 +++
 tools/xenstore/xenstored_core.c        | 120 ++++++++++++++++++++++++++-------
 tools/xenstore/xenstored_core.h        |   3 +
 tools/xenstore/xenstored_transaction.c |  27 +++++---
 tools/xenstore/xenstored_transaction.h |   4 +-
 tools/xenstore/xs.c                    |  80 +++++++++++++++++++---
 tools/xenstore/xs_tdb_dump.c           |  11 +--
 xen/include/public/io/xs_wire.h        |   1 +
 8 files changed, 205 insertions(+), 50 deletions(-)

-- 
2.6.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-10-31 10:54 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-27  9:55 [PATCH v2 0/7] xenstore: support reading directory with many children Juergen Gross
2016-10-27  9:55 ` [PATCH v2 1/7] xenstore: fix add_change_node() Juergen Gross
2016-10-27 10:15   ` Wei Liu
2016-10-27 10:19     ` Juergen Gross
2016-10-31 10:54     ` Wei Liu
2016-10-27  9:55 ` [PATCH v2 2/7] xenstore: modify add_change_node() parameter types Juergen Gross
2016-10-27  9:55 ` [PATCH v2 3/7] xenstore: call add_change_node() directly when writing node Juergen Gross
2016-10-27  9:55 ` [PATCH v2 4/7] xenstore: use common tdb record header in xenstore Juergen Gross
2016-10-27  9:55 ` [PATCH v2 5/7] xenstore: add per-node generation counter Juergen Gross
2016-10-27  9:55 ` [PATCH v2 6/7] xenstore: add support for reading directory with many children Juergen Gross
2016-10-27 13:56   ` Jan Beulich
     [not found]   ` <58122399020000780011A2AD@suse.com>
2016-10-27 15:00     ` Juergen Gross
2016-10-27 15:33       ` Juergen Gross
2016-10-27  9:55 ` [PATCH v2 7/7] xenstore: support XS_DIRECTORY_PART in libxenstore Juergen Gross

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).