All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.