block inside accept rather than using select to poll and then calling accept
regardless of the outcome of the select call, and then failing because the
socket is non-blocking.
SocketClientConnection, SocketConnector, TCPClientConnection, TCPConnector,
connectTCP, UnixClientConnection, UnixConnector, connectUnix have gone.
loseConnection and stopListening and closeSocket (where they are needed) are
now called close. startListening is now called listen.
Closes bug #379.
Relieves a weight from the shoulders of the universe.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
that there is not sufficient memory available at the moment. Memory may be
about to be freed up by the system after a domain destruction (i.e. the memory
is being scrubbed asynchronously, and will be released soon).
Closes bug #407, bug #429.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
rather than the eversoskanky approach taken previously (use grep, and replace
any occurrences of %d with [0-9]* !)
Signed-off-by: Ewan Mellor <ewan@xensource.com>
remove and recreate the /local directory, but the manual_node call only works
if the tdb is empty -- we must use create_node, otherwise the store is
corrupted.
It's not clear to me that the other manual_node calls are safe, but I have only
made this smaller change for the sake of stability. These other calls should
be reviewed.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
command were not available elsewhere on the machine (on my Debian boxes, for
example).
Sleep for a configurable amount of time between xm create calls (by default,
5 seconds). This spaces out the booting of the new domains, meaning that they
should not thrash the disk so much.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
I've changed this to only write "backend" (xenbus_backend.root) into
XENBUS_BASE_PATH. After appending XENBUS_TYPE (also exported) you can
construct the "base path" easily in the scripts. I've completely
removed writing XENBUS_FRONTEND_ID in favour of reading it from the
store at "$XENBUS_PATH/frontend-id".
Avoid re-reading the store over and over for the frontend domain's vm-path.
The patch also fixes a memory leak in backend_bus_id where we
leak the memory referenced by frontend if the function succeeds.
This work is by Christian Limpach.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
vcpus entry in the image section when using VMX, only add VMX options at all
if the builder is vmx, and issue a warning when overriding the global vcpus
setting with the one from the image.
This removes the duplicated vcpus entries in the domain's sxpr.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
localhost migration.
return [ test ] is not valid, simply [ test ] at the end of the function is the
correct syntax.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
through the buffer when the data are read by console clients. This avoids a
costly memmove with every read from the console.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
if the console client disconnected before all the data had been written to the
pty, even though the select call had indicated that the fd was previously
writable. Reads have been observed exhibiting similar behaviour too.
Closes bug #380.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Title. 1 is const string "-domain-name", the other is the string of
domain name. At present imagy.py combines these two strings to 1. So
Qemu will fail to recognize it and fail to start.
Signed-off-by: Yongkang You <yongkang.you@intel.com>
is specified, from guest-2, guest-3 etc. Have the DHCP server send the
hostname to the guest.
Added a lock around DHCP config file frobbing, to avoid racing creation vs
deletion.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
loop driver stores only the first 64 chars of the filename). In this case, we
need to read through the store until we find the domain using the device, and
read the configured filename from there instead.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Use the IP address associated with the backend network interface
for connections from dom0 to the guest connected to this network
interface.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
CPUs a domains' vcpus can use. The older 'cpu' config option is
prepended to the list of cpus to use and will keep the behavior of
pinning VCPU0.
The cpus option supports ranges and negation, so:
cpus = "0-3,5,^1" produces -> [0,2,3,5]
The list is circular, so in a domain with the following config:
vcpus = 4
cpus = "0,3,7" # Use any of 0, 3, 7 for this domain.
would see vcpus 0-3 pinned to cpus 0,3,7,0 respectively.
Also, the pin operation is moved before the memory reservation as vcpu
to cpu mapping will be helpful for future NUMA work when trying to
allocate pages close to the physical cpus being used.
An update to the display of cpumap was needed to normalize the cpumap
values to the range of possible cpus.
I've also included some text for the xmdomain.cfg(5) man page.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
the check, reading from the store rather than /sys, and checking whether the
VM for apparently-conflicting uses is actually the same (i.e. this is a
migration or a reboot in progress).
This fixes recent failures in 12_block_attach_shared_domU and recloses bug #331.
This fix includes particularly skanky path slicing inside xenbus_probe, which
it would be nice to remove very soon.
The loopback device check still suffers from the problem that filenames over
64 characters long are truncated.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
the older hotplug infrastructure does not, so we must be able to serialise the
block-sharing checks (etc) ourselves.
Redirect stderr to /var/log/xen-hotplug.log, for better debugging.
Signed-off-by: Ewan Mellor <ewan@xensource.com>