structure that is 64 bytes on x86. This ensures that indexing into
the array is fast (power-of-two size) and that accesses are cache
friendly (cache line size is usually 32 or 64 bytes).
Rename vcpu_data to vcpu_info, vcpu_time to vcpu_info.time.
Signed-off-by: Keir Fraser <keir@xensource.com>
console is no longer exposed when attempting to attach. This makes test
04_memset_smallmem again able to detect console death and restart
xenconsoled so that the rest of the tests can run on x86_64.
do a memcpy from idle0_vcpu.arch to arch of the new vcpu, which causes
monitor_pagetable is set to a none 0 value. For VMX guest which is
using external shadow mode, this is not what we really need. the
previous patch is OK for UP VMX guest, but failed on SMP VMX guest.
Signed-off-by: Xin Li <xin.b.li@intel.com>
escape.
Allow the vif-nat and vif-route scripts to have netdev specified, rather than
hard-coding eth0.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
to respond first time. For restored and unpaused domains there is no need for
the console to output data, so we cannot use this as a way to detect the
liveness of a console. Instead, a command must always be sent to the console,
which means that this failure can only be detected once the constructor of the
Console class has returned successfully. The __chewall loop still remains, in
order to detect runaway consoles and to clear out previous data from the
console before executing commands, but we no longer treat failure of that
method to read data as a failure of the console itself.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
time after creation of a domain. Have the getRunningDomains method detect
failure of the xm list command, as indicated by the error code.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
check_sharing functions have been rejigged slightly so that the file-specific
stuff can share the code therein. This separates the actual test from the
generation of the error message, and introduces the canonicalise_mode function.
This also restores the broken teardown functionality for file: devices -- the
writing of XENBUS_PATH/node had been removed, but this is required for file
device teardown.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
current Console.py API, because no bytes have come from it, but that's not a
failure -- an unpaused domain has no reason to output any more data. We need
to send a command to the domain before we can be sure whether it is alive or
dead, so move the FAIL call, allowing the console connection to throw
ConsoleError.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
(should be testing against -1, not merely using if or if not), one block-list
command was missing, and the block-detach command is asynchronous (to give the
domain time to close down the device) so we need a time.sleep(1) call before
trying xm block-list.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
a device from two guests, or from dom 0 and a guest, can destroy the filesystem,
and this check prevents that. This should ensure that the xm tests
11_block_attach_shared_dom0 and 12_block_attach_shared_domU should pass.
Closes bug #331.
Devices may be shared only if all uses are read-only. If anyone has read-write
access to a device, then no sharing is allowed.
The mode in the config file may now have an exclamation mark appended, to
indicate that devices may be shared (i.e. that this new check should be
bypassed). This supports some network block devices, but is clearly dangerous
and should only be used when you know what you are doing.
The mode specified in the config file is now written explicitly to the store,
To implement this, the blkback driver has been changed to create two entries
in /sys describing each device in use. This means that we can determine which
devices are in use without crawling through the store.
The physical-device node has been changed to give the major and minor of the
device, separated by a colon. This means that we do not need to pack these
numbers into one, removing the restriction to 8 bit minors that we had in place
before.
The mode specified in the config file is now written explicitly to the store,
rather than using the presence or absence of a read-only node. This supports
the write-sharing override above.
If the device is in use, a new hotplug status of "busy" is written to the
store, and a message is written to a new hotplug-error node. Xend uses these
things for diagnosis.
The block scripts do not need to handle online or offline events, so this
support has been removed. These scripts can be called twice, depending upon
the hotplug config, so they now identify the second run and do not attempt to
set up the device again.
The device directories in the store are cleaned out before new details are
written there. This prevents stale information from messing up block device
hotplugging. This will be one cause of "blkback: changing physical device
not supported" messages.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
interface from the bridge when going offline -- the comment stating that
interfaces are auto-removed does not seem to be true, at least some of the
time. Log failure of brctl delif and ifconfig down only at debug level, as
this script may be called more than once, depending upon the hotplug
configuration.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
hotplug config, the offline event may come through to this script twice, and
the iptables -D will fail the second time.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
(live) restore. This should now enable live migrate of fork-intensive (or
other page-table-intensive) workloads.
Signed-off-by: Steven Hand <steven@xensource.com>