xc.domain_create call fails (eg, when ACM policy prevents creation of a
domain). When xc.domain_create fails, dompath never gets set.
Signed-off-by: Tom Lendacky <toml@us.ibm.com>
happened, and only return EINVAL if the event channel details have changed.
This allows Xend to introduce domains when it starts without having to be
concerned about whether xenstored has restarted at the same time. This
behaviour used to be subsumed by the bind_interdomain semantics for existing
channels, but in the simplification of that interface, the check must now move
to userspace.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Use wait_event_interruptible() so that our kernel threads spend
their time in the more acceptable 'S' state rather than the more
worrying 'D' state.
Signed-off-by: Keir Fraser <keir@xensource.com>
to make debugging easier (it's hard if an error takes out
the default workqueue!). Also, watch callbacks can be
arbitrarily long-lived, so it's more polite.
Signed-off-by: Keir Fraser <keir@xensource.com>
from nowhere at all.
Log to a temporary file if permission is denied to log to /var/log/xend.log,
as happens when you are not root. Fixes bug #305.
Remove all the log-related garbage from XendRoot -- just about every module
was going straight to XendLogging.log already, so there was no need to have
XendRoot replicate this functionality.
Remove XendRoot.event_handler, which hasn't been in use since the EventServer
was removed.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
connection, plus interleaving of transactional and
non-transactional accesses. A transaction identifier is added
to the xsd_sockmsg header structure (0 means 'not in context
of a transaction'). The user and kernel xs interfaces accept
a pointer to a transaction handle where appropriate --
currently this is directly cast to an integer identifier in
the client library / kernel driver, but will allow for keeping
extra dynamic client-side state in future if we need to.
The transaction mutex has now gone. It's replaced with a
read-write mutex, but this is only acquired for exclusive
access during suspend/resume, to ensure there are no in-progress
transactions.
Signed-off-by: Keir Fraser <keir@xensource.com>
of pending replies that are sent out in order.
Currently we only read new requests when the reply list is
empty. In fact there is no good reason for this restriction.
Another interesting point is that (on my test machine)
hotplug blk setup fails if xenstored_client connects to
xenstored via the unix domain socket rather than through the
kernel --- this points to some user/kernel races that are
'fixed' by the extra serialisation of the in-kernel mutexes.
It definitely needs looking into.
Signed-off-by: Keir Fraser <keir@xensource.com>
handle on appropriate operations. Next step is to plug this
through to the store daemon and get rid of the nasty serialisation
mutex for transactions.
Signed-off-by: Keir Fraser <keir@xensource.com>
already seeded from the clock, so this is unnecessary, non-portable, and
expensive. This should improve start-up time of Xend. Replace twisty maze of
code with something sensible.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
the vsyscall page ELF notes and use the "nosegneg" glibc variant
to ensure that things work fine.
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Roland McGrath <roland@redhat.com>
which defines aspects of the 'wire' protocol between
xs daemon and clients in user and kernel land, is now
xs_wire.h and moved to xen's public/io directory. From there
it is more easily accessible by kernels.
Signed-off-by: Keir Fraser <keir@xensource.com>
instead of just passing the node.
This allows us to extend watches to have additional arguments (like domids).
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
install', the udev rules will be installed if udev version is >= 059;
otherwise, the hotplug rules get installed.
When 'make dist' is done, we set a variable so that both hotplug and
udev rules are installed into the dist tarball. install.sh then takes
care of picking the proper rules.
Also changes the hotplug check to look for a proper udev version
Signed-off-by: Jeremy Katz <katzj@redhat.com>
construct method. This ensures that the domain will have any stale paths in
the store removed on restore.
Signed-off-by: Ewan Mellor <ewan@xensource.com>