diff options
author | emellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com> | 2005-10-19 11:47:51 +0100 |
---|---|---|
committer | emellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com> | 2005-10-19 11:47:51 +0100 |
commit | 2b99d6e3a9c86d4532faa510bcf2dbd3ab2c2c77 (patch) | |
tree | 56b6b6ccb4d49263ea9491c63700e30fdc2a1001 /tools/xenstore/xenstored_core.h | |
parent | 4bdaa2c588c680afaa862f27afa30fa15a377b2d (diff) | |
download | xen-2b99d6e3a9c86d4532faa510bcf2dbd3ab2c2c77.tar.gz xen-2b99d6e3a9c86d4532faa510bcf2dbd3ab2c2c77.tar.bz2 xen-2b99d6e3a9c86d4532faa510bcf2dbd3ab2c2c77.zip |
Take advantage of the new UUID (handle) stored for us in Xen to improve the
recreation semantics.
Remove the unpause at the end of xc_linux_restore, and move it to
XendDomainInfo. This is necessary because xenstored now allocates the domain
path when the domain is introduced, which means that the new domain cannot
start running until that introduce is performed and the new devices
configured.
Give restore a separate completion phase in which domain details are stored.
This is required because the domain path is no longer available until after
the introduceDomain call.
TODO: Split the domain introduction into two so that the domain path is
available earlier. At the moment, the domain <-> store channel details are
passed in to xenstored when the domain is introduced, but in the case of
restore it is necessary to wait until the restore is completed before the
channel MFN is available.
Change the interface between XendDomainInfo and XendCheckpoint/image to not
have hideous callbacks through setConsoleRef and setStoreRef. Instead,
image.createImage explicitly returns those values, and XendCheckpoint passes
them through to completeRestore.
Move the purging of the domain path corresponding to a new domain from Xend
to xenstored, since xenstored is now in charge of this path. With the domain
path creation moved to xenstored, Xend cannot remove the path, because watches
may have fired on it already.
Fix the printf statement in xenstored in verbose mode that details the
messages being written. This statement was printing the buffer using %s, but
this buffer has an explicit length field, so we were seeing garbage after the
correct details.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Diffstat (limited to 'tools/xenstore/xenstored_core.h')
-rw-r--r-- | tools/xenstore/xenstored_core.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h index e8f4a28c65..abcb42c38d 100644 --- a/tools/xenstore/xenstored_core.h +++ b/tools/xenstore/xenstored_core.h @@ -154,6 +154,10 @@ void __attribute__((noreturn)) corrupt(struct connection *conn, struct connection *new_connection(connwritefn_t *write, connreadfn_t *read); + +void internal_rm(const char *name); + + /* Is this a valid node name? */ bool is_valid_nodename(const char *node); |