|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 0/7] xenstore: support reading directory with many children
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@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |