]> git.proxmox.com Git - qemu.git/log
qemu.git
13 years agoUpdate version for 0.14.0-rc2 v0.14.0-rc2
Anthony Liguori [Mon, 14 Feb 2011 22:01:01 +0000 (16:01 -0600)]
Update version for 0.14.0-rc2

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoFix build from previous commit
Anthony Liguori [Mon, 14 Feb 2011 20:24:24 +0000 (14:24 -0600)]
Fix build from previous commit

I unfortunately got on an unnamed branch and pushed the wrong bits

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoPATCH] slirp: fix buffer overrun
Bruce Rogers [Sat, 5 Feb 2011 21:47:56 +0000 (14:47 -0700)]
PATCH] slirp: fix buffer overrun

Since the addition of the slirp member to struct mbuf, the value of
SLIRP_MSIZE and the initialization of m_size have not been correct,
resulting in overrunning the end of the malloc'd buffer in some cases.

Signed-off-by: Bruce Rogers <brogers@novell.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agocorrectly check ppr priority during interrupt injection]
Gleb Natapov [Mon, 7 Feb 2011 14:14:44 +0000 (16:14 +0200)]
correctly check ppr priority during interrupt injection]

TPR blocks all interrupts in a priority class, so simple "less or
equal" check is not enough.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoMerge branch 'linux-user-for-0.14' of git://gitorious.org/qemu-maemo/qemu
Justin M. Forbes [Mon, 14 Feb 2011 18:11:43 +0000 (12:11 -0600)]
Merge branch 'linux-user-for-0.14' of git://gitorious.org/qemu-maemo/qemu

13 years agoqcow2: Fix order in L2 table COW
Kevin Wolf [Wed, 9 Feb 2011 16:36:19 +0000 (17:36 +0100)]
qcow2: Fix order in L2 table COW

When copying L2 tables (this happens only with internal snapshots), the order
wasn't completely safe, so that after a crash you could end up with a L2 table
that has too low refcount, possibly leading to corruption in the long run.

This patch puts the operations in the right order: First allocate the new
L2 table and replace the reference, and only then decrease the refcount of the
old table.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 16fde5f2c2788232b16c06d34d0459a5c1ec1f6c)

13 years agoqemu-img: Improve error messages for failed bdrv_open
Kevin Wolf [Wed, 9 Feb 2011 10:25:53 +0000 (11:25 +0100)]
qemu-img: Improve error messages for failed bdrv_open

Output the error message string of the bdrv_open return code. Also set a
non-empty device name for the images because the unknown feature error message
includes it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit b9eaf9ecb15a9c69a592f386159163d5efc3b919)

13 years agoqed: Report error for unsupported features
Kevin Wolf [Wed, 9 Feb 2011 10:13:26 +0000 (11:13 +0100)]
qed: Report error for unsupported features

Instead of just returning -ENOTSUP, generate a more detailed error.

Unfortunately we don't have a helpful text for features that we don't know yet,
so just print the feature mask. It might be useful at least if someone asks for
help.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
(cherry picked from commit 10b758e85c9b38b4b370cff81435f6ed26024a26)

13 years agoqcow2: Report error for version > 2
Kevin Wolf [Wed, 9 Feb 2011 10:11:07 +0000 (11:11 +0100)]
qcow2: Report error for version > 2

The qcow2 driver is now declared responsible for any QCOW image that has
version 2 or greater (before this, version 3 would be detected as raw).

For everything newer than version 2, an error is reported.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit e8cdcec123facf0ed273d941caeeeb9b08f14955)

13 years agoqerror: Add QERR_UNKNOWN_BLOCK_FORMAT_FEATURE
Kevin Wolf [Wed, 9 Feb 2011 10:09:38 +0000 (11:09 +0100)]
qerror: Add QERR_UNKNOWN_BLOCK_FORMAT_FEATURE

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit f54e3641122e51c6343d587805422642f307462e)

13 years agoqcow2: Fix error handling for reading compressed clusters
Kevin Wolf [Wed, 9 Feb 2011 09:26:06 +0000 (10:26 +0100)]
qcow2: Fix error handling for reading compressed clusters

When reading a compressed cluster failed, qcow2 falsely returned success.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
(cherry picked from commit 8af364884355b3f0c5d60a2d2f427927739658ea)

13 years agoqcow2: Fix error handling for immediate backing file read failure
Kevin Wolf [Tue, 8 Feb 2011 17:12:35 +0000 (18:12 +0100)]
qcow2: Fix error handling for immediate backing file read failure

Requests could return success even though they failed when bdrv_aio_readv
returned NULL for a backing file read.

Reported-by: Chunqiang Tang <ctang@us.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 3ab4c7e92d39d40e6dc0bdb1c2320889543691cb)

13 years agoQCOW2: bug fix - read base image beyond its size
Chunqiang Tang [Thu, 3 Feb 2011 15:12:49 +0000 (10:12 -0500)]
QCOW2: bug fix - read base image beyond its size

This patch fixes the following bug in QCOW2. For a QCOW2 image that is larger
than its base image, when handling a read request straddling over the end of the
base image, the QCOW2 driver attempts to read beyond the end of the base image
and the request would fail.

This bug was found by Fast Virtual Disk (FVD)'s fully automated testing tool.
The following test triggered the bug.

dd if=/dev/zero of=/var/ramdisk/truth.raw count=0 bs=1 seek=1098561536
dd if=/dev/zero of=/var/ramdisk/zero-500M.raw count=0 bs=1 seek=593099264
./qemu-img create -f qcow2 -ocluster_size=65536,backing_fmt=blksim -b /var/ramdisk/zero-500M.raw /var/ramdisk/test.qcow2 1098561536
./qemu-io --auto --seed=30477694 --truth=/var/ramdisk/truth.raw --format=qcow2 --test=blksim:/var/ramdisk/test.qcow2 --verify_write=true --compare_before=false --compare_after=true --round=100000 --parallel=100 --io_size=10485760 --fail_prob=0 --cancel_prob=0 --instant_qemubh=true

Signed-off-by: Chunqiang Tang <ctang@us.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit e0d9c6f93729c9bfc98fcafcd73098bb8e131aeb)

13 years agoChange snapshot_blkdev hmp to use correct argument type for device
Jes Sorensen [Fri, 4 Feb 2011 08:22:14 +0000 (09:22 +0100)]
Change snapshot_blkdev hmp to use correct argument type for device

Pointed out by Markus

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 982aa95532a3a7b549695d5b3e18442975eecfb5)

13 years agolinux-user: Fix possible realloc memory leak
Stefan Weil [Mon, 17 Jan 2011 20:36:06 +0000 (21:36 +0100)]
linux-user: Fix possible realloc memory leak

Extract from "man realloc":
"If realloc() fails the original block is left untouched;
it is not freed or moved."

Fix a possible memory leak (reported by cppcheck).

Cc: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Riku Voipio <riku.voipio@nokia.com>
(cherry picked from commit 8d79de6e42947a4a11ad7c7bb87e8f745a4f8321)

13 years agolinux-user: Fix possible realloc memory leak
Stefan Weil [Mon, 17 Jan 2011 20:36:06 +0000 (21:36 +0100)]
linux-user: Fix possible realloc memory leak

Extract from "man realloc":
"If realloc() fails the original block is left untouched;
it is not freed or moved."

Fix a possible memory leak (reported by cppcheck).

Cc: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Riku Voipio <riku.voipio@nokia.com>
13 years agolinux-user: fix for loopmount ioctl
Martin Mohring [Tue, 8 Feb 2011 12:48:56 +0000 (14:48 +0200)]
linux-user: fix for loopmount ioctl

In case a chrooted build uses XEN or KVM, a looped mount needs to be done to setup the chroot.
The ioctl for loop mount works correctly for arm, mips, ppc32 and sh4, so its now activated.

Signed-off-by: Riku Voipio <riku.voipio@nokia.com>
13 years agoMerge branch 'master' of git+ssh://git.qemu.org/pub/git/qemu-stable-0.14
Justin M. Forbes [Tue, 8 Feb 2011 18:41:18 +0000 (12:41 -0600)]
Merge branch 'master' of git+ssh://git.qemu.org/pub/git/qemu-stable-0.14

13 years agoblockdev: Plug memory leak in drive_init() error paths
Markus Armbruster [Tue, 8 Feb 2011 14:12:39 +0000 (15:12 +0100)]
blockdev: Plug memory leak in drive_init() error paths

Should have spotted this when doing commit 319ae529.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
13 years agoblockdev: Plug memory leak in drive_uninit()
Markus Armbruster [Tue, 8 Feb 2011 14:12:38 +0000 (15:12 +0100)]
blockdev: Plug memory leak in drive_uninit()

Started leaking in commit 1dae12e6.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
13 years agox86: Fix MCA broadcast parameters for TCG case
Jan Kiszka [Fri, 4 Feb 2011 15:47:25 +0000 (13:47 -0200)]
x86: Fix MCA broadcast parameters for TCG case

When broadcasting MCEs, we need to set MCIP and RIPV in mcg_status like
it is done for KVM. Use the symbolic constants at this chance.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 29057492871e63caeab8ee7cdf1062c0270f19d8)

13 years agoqemu-timer: Fix compilation of new timer code for w32, w64
Stefan Weil [Fri, 4 Feb 2011 21:01:32 +0000 (22:01 +0100)]
qemu-timer: Fix compilation of new timer code for w32, w64

qemu_next_alarm_deadline() is needed by MinGW, too.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
(cherry picked from commit f26e5a54f0554798a2e6f7a074b809b13635d007)

13 years agoUpdate version for 0.14.0-rc1 v0.14.0-rc1
Anthony Liguori [Mon, 7 Feb 2011 19:36:28 +0000 (13:36 -0600)]
Update version for 0.14.0-rc1

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoblock: enable in_use flag
Marcelo Tosatti [Wed, 26 Jan 2011 14:12:35 +0000 (12:12 -0200)]
block: enable in_use flag

Set block device in use during block migration, disallow drive_del and
bdrv_truncate for in use devices.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 8591675f44929a9e4b5d3a5fd702a4b6d41c7903)

13 years agoAdd flag to indicate external users to block device
Marcelo Tosatti [Wed, 26 Jan 2011 14:12:34 +0000 (12:12 -0200)]
Add flag to indicate external users to block device

Certain operations such as drive_del or resize cannot be performed
while external users (eg. block migration) reference the block device.

Add a flag to indicate that.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit db593f2565dc12442d6bac9e8eaefa027dfcada9)

13 years agoblock-migration: add reference to target DriveInfo
Marcelo Tosatti [Wed, 26 Jan 2011 14:12:33 +0000 (12:12 -0200)]
block-migration: add reference to target DriveInfo

So that ejection of attached device by guest does not free data
in use by block migration instance.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
CC: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit f48905d44f670cd83227b3a8d06ae1406f0c771c)

13 years agoblockdev: add refcount to DriveInfo
Marcelo Tosatti [Wed, 26 Jan 2011 14:12:32 +0000 (12:12 -0200)]
blockdev: add refcount to DriveInfo

The host part of a block device can be deleted with in progress
block migration.

To fix this, add a reference count to DriveInfo, freeing resources
on last reference.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
CC: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 84fb392526479d54602a3830326d50d44657f630)

13 years agoblock-migration: actually disable dirty tracking on cleanup
Marcelo Tosatti [Wed, 26 Jan 2011 14:12:31 +0000 (12:12 -0200)]
block-migration: actually disable dirty tracking on cleanup

Call to set_dirty_tracking() is misplaced.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 8f794c557c4b51c7a957d47ef6a2230114bb9e79)

13 years agoahci: make number of ports runtime determined
Alexander Graf [Tue, 1 Feb 2011 14:51:31 +0000 (15:51 +0100)]
ahci: make number of ports runtime determined

Different AHCI controllers have a different number of ports, so the core
shouldn't care about the amount of ports available.

This patch makes the number of ports available to the AHCI core runtime
configurable, allowing us to have multiple different AHCI implementations
with different amounts of ports.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 2c4b9d0ea42c27ec2112e437a0fa954afe73bd23)

13 years agoahci: Implement HBA reset
Alexander Graf [Tue, 1 Feb 2011 14:51:30 +0000 (15:51 +0100)]
ahci: Implement HBA reset

The ahci code was missing its soft reset functionality. This wasn't really an
issue for Linux guests, but Windows gets confused when the controller doesn't
reset when it tells it so.

Using this patch I can now successfully boot Windows 7 from AHCI using AHCI
enabled SeaBIOS.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 760c3e44d3a1d8a7e9d22f0429b1805d1c688178)

13 years agoahci: send init d2h fis on fis enable
Alexander Graf [Tue, 1 Feb 2011 14:51:29 +0000 (15:51 +0100)]
ahci: send init d2h fis on fis enable

The drive sends a d2h init fis on initialization. Usually, the guest doesn't
receive fises yet at that point though, so the delivery is deferred.

Let's reflect that by sending the init fis on fis receive enablement.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 87e62065bb5e0e544e45e6935e3ac2b053fe446e)

13 years agoahci: split ICH and AHCI even more
Alexander Graf [Tue, 1 Feb 2011 14:51:28 +0000 (15:51 +0100)]
ahci: split ICH and AHCI even more

Sebastian's patch already did a pretty good job at splitting up ICH-9
AHCI code and the AHCI core. We need some more though. Copyright was missing,
the lspci dump belongs to ICH-9, we don't need the AHCI core to have its
own qdev device duplicate.

So let's split them a bit more in this patch, making things easier to
read an understand.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 7fb6577b130c615e42e1ccf8dad69c27c3eef085)

13 years agoahci: add license header in ahci.h
Alexander Graf [Tue, 1 Feb 2011 14:51:27 +0000 (15:51 +0100)]
ahci: add license header in ahci.h

Due to popular request, this patch adds a license header to ahci.h

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit f83a40dcd7c38aef8cb4aa93e1f6f0e21c750992)

13 years agoahci: split ICH9 from core
Sebastian Herbszt [Tue, 1 Feb 2011 14:51:26 +0000 (15:51 +0100)]
ahci: split ICH9 from core

There are multiple ahci devices out there. The currently implemented ich-9
is only one of the many. So let's split that one out into a separate file
to stress the difference.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 03c7a6a8e7122b9c12a532577046094a69593116)

13 years agoblock/vdi: Fix wrong size in conditionally used memset, memcmp
Stefan Weil [Fri, 4 Feb 2011 20:01:16 +0000 (21:01 +0100)]
block/vdi: Fix wrong size in conditionally used memset, memcmp

Error report from cppcheck:
block/vdi.c:122: error: Using sizeof for array given as function argument returns the size of pointer.
block/vdi.c:128: error: Using sizeof for array given as function argument returns the size of pointer.

Fix both by setting the correct size.

The buggy code is only used when QEMU is build without uuid support.
The bug is not critical, so there is no urgent need to apply it to
old versions of QEMU.

Cc: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 4f3669ea5bd73ade0dce5f1155cb9ad9788fd54c)

13 years agoDocumentation: add Sheepdog disk images
MORITA Kazutaka [Mon, 7 Feb 2011 07:04:04 +0000 (16:04 +0900)]
Documentation: add Sheepdog disk images

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 42af9c30ea9a963ce604ac96230fde2f987634db)

13 years agoqcow2: Really use cache=unsafe for image creation
Kevin Wolf [Thu, 27 Jan 2011 15:46:01 +0000 (16:46 +0100)]
qcow2: Really use cache=unsafe for image creation

For cache=unsafe we also need to set BDRV_O_CACHE_WB, otherwise we have some
strange unsafe writethrough mode.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
(cherry picked from commit e1a7107f2d92af646ec37b74d074dc150e688559)

13 years agodo not pass NULL to strdup.
Gleb Natapov [Wed, 2 Feb 2011 15:34:34 +0000 (17:34 +0200)]
do not pass NULL to strdup.

Also use qemu_strdup() instead of strdup() in bootindex code.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 4fef930af8d7fab4b6c777fa4c6e2b902359262a)

13 years agoSet the right overflow bit for neon 32 and 64 bit saturating add/sub.
Christophe Lyon [Fri, 4 Feb 2011 14:17:51 +0000 (15:17 +0100)]
Set the right overflow bit for neon 32 and 64 bit saturating add/sub.

Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 72902672dc2ed6281cdb205259c1d52ecf01f6b2)

13 years agotarget-arm: Fix Neon vsra instructions.
Christophe Lyon [Tue, 25 Jan 2011 17:18:08 +0000 (18:18 +0100)]
target-arm: Fix Neon vsra instructions.

This patch fixes the errors reported by my tests in VSRA.

Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 5371cb81405a35ca4c1f6ab23f93a4f7260ffa53)

13 years agotarget-sh4: fix negc
Aurelien Jarno [Fri, 4 Feb 2011 19:19:33 +0000 (20:19 +0100)]
target-sh4: fix negc

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 7026259f79ffc85ceaaaeee32df518ea96863ee4)

13 years agoioapic: Style & magics cleanup
Jan Kiszka [Thu, 3 Feb 2011 21:54:14 +0000 (22:54 +0100)]
ioapic: Style & magics cleanup

Fix a few style issues and convert magic numbers into prober symbolic
constants, also fixing the wrong but unused IOAPIC_DM_SIPI value.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 1f5e71a8e6b24dce74b156472ff9253b9bd33a11)

13 years agoioapic: Add support for qemu-kvm's vmstate v2
Jan Kiszka [Thu, 3 Feb 2011 21:54:13 +0000 (22:54 +0100)]
ioapic: Add support for qemu-kvm's vmstate v2

qemu-kvm carries the IOAPIC base address in its v2 vmstate. We only
support the default base address so far, and saving even that in the
device state was rejected.

Add a padding field to be able to read qemu-kvm's old state, but
increase our version to 3, indicating that we are not saving a valid
address. This also gives downstream the chance to change to stop
evaluating the base_address and move to v3 as well.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 5dce499948e4a4abe62f010baf4a7ed3d49e53cb)

13 years agoioapic: Save/restore irr
Jan Kiszka [Thu, 3 Feb 2011 21:54:12 +0000 (22:54 +0100)]
ioapic: Save/restore irr

This is a guest modifiable state that must be saved/restored properly.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 35a74c5c5941b474d8b985237e1bde0b8cd2a20f)

13 years agoioapic: Implement EOI handling for level-triggered IRQs
Jan Kiszka [Thu, 3 Feb 2011 21:54:11 +0000 (22:54 +0100)]
ioapic: Implement EOI handling for level-triggered IRQs

Add the missing EOI broadcast from local APIC to the IOAPICs on
completion of level-triggered IRQs. This ensures that a still asserted
IRQ source properly re-triggers an APIC IRQ.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 0280b571c1a153f8926612d8c8d7359242d596f5)

13 years agovnc: qemu can die if the client is disconnected while updating screen
Corentin Chary [Fri, 4 Feb 2011 08:05:53 +0000 (09:05 +0100)]
vnc: qemu can die if the client is disconnected while updating screen

agraf reported that qemu_mutex_destroy(vs->output_mutex) while failing
in vnc_disconnect_finish().

It's because vnc_worker_thread_loop() tries to unlock the mutex while
not locked. The unlocking call doesn't fail (pthread bug ?), but
the destroy call does.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 73eb4c04e9e8ea7f6eb83694cb0c43e38d882a7c)

13 years agovirtio-serial: Make sure virtqueue is ready before discarding data
Amit Shah [Fri, 4 Feb 2011 08:54:18 +0000 (14:24 +0530)]
virtio-serial: Make sure virtqueue is ready before discarding data

This can happen if a port gets unplugged before guest has chance to
initialise vqs.

Reported-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 7185f9315bcf90e99b123370cf4d19b8c20afbd5)

13 years agoui/sdl: Fix handling of caps lock and num lock keys
Stefan Weil [Thu, 3 Feb 2011 21:35:07 +0000 (22:35 +0100)]
ui/sdl: Fix handling of caps lock and num lock keys

Starting with SDL version 1.2.14, caps lock and num lock keys
will send a SDL_KEYUP when SDL_DISABLE_LOCK_KEYS=1 is set in
the environment.

The new code sets the environment unconditionally
(it won't harm old versions which do not know it).

The workaround for SDL_KEYUP is only compiled with old SDL versions.

A similar patch without handling of old SDL versions was already
published by Benjamin Drung for Ubuntu.

Cc: Anthony Liguori <aliguori@us.ibm.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Benjamin Drung <benjamin.drung@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 4e79bcbb96d3c189e50adbdac7b1e28d834ba43e)

13 years agoUnify alarm deadline computation
Paolo Bonzini [Thu, 3 Feb 2011 13:49:01 +0000 (14:49 +0100)]
Unify alarm deadline computation

This patch shows how using the correct formula for
qemu_next_deadline_dyntick can simplify the code of
host_alarm_handler and eliminate useless duplication.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 4c3d45eb694de3e0bda10841a06ba98be4d569b1)

13 years agoCorrect alarm deadline computation
Paolo Bonzini [Thu, 3 Feb 2011 13:49:00 +0000 (14:49 +0100)]
Correct alarm deadline computation

When the QEMU_CLOCK_HOST clock was added, computation of its
deadline was added to qemu_next_deadline, which is correct but
incomplete.

I noticed this by reading the very convoluted rules whereby
qemu_next_deadline_dyntick is computed, which miss QEMU_CLOCK_HOST
when use_icount is true.  This patch inlines qemu_next_deadline
into qemu_next_deadline_dyntick, and then corrects the logic to skip
only QEMU_CLOCK_VIRTUAL when use_icount is true.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 6ad0a1ed21ecd187dbe3239eb45c3598672af6a8)

13 years agouse nanoseconds everywhere for timeout computation
Paolo Bonzini [Thu, 3 Feb 2011 13:48:59 +0000 (14:48 +0100)]
use nanoseconds everywhere for timeout computation

Suggested by Aurelien Jarno.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 9c13246ac13a87e05b5e6e7158e715dfa65fc7aa)

13 years agosavevm: fix corruption in vmstate_subsection_load().
Yoshiaki Tamura [Thu, 3 Feb 2011 04:34:08 +0000 (13:34 +0900)]
savevm: fix corruption in vmstate_subsection_load().

Although it's rare to happen in live migration, when the head of a
byte stream contains 0x05 which is the marker of subsection, the
loader gets corrupted because vmstate_subsection_load() continues even
the device doesn't require it.  This patch adds a checker whether
subsection is needed, and skips following routines if not needed.

Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit eb60260de0b050a5e8ab725e84d377d0b44c43ae)

13 years agoRevert "Open up the 0.15 development branch"
Aurelien Jarno [Wed, 2 Feb 2011 07:39:44 +0000 (08:39 +0100)]
Revert "Open up the 0.15 development branch"

This reverts commit 0e1272f22bd059c3420b6dfe355b042038cc7806.

13 years agoOpen up the 0.15 development branch
Anthony Liguori [Wed, 2 Feb 2011 02:15:26 +0000 (20:15 -0600)]
Open up the 0.15 development branch

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoUpdate version for 0.14.0-rc0 v0.14.0-rc0
Anthony Liguori [Tue, 1 Feb 2011 22:59:46 +0000 (16:59 -0600)]
Update version for 0.14.0-rc0

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoUpdate SeaBIOS to 0.6.1.2
Anthony Liguori [Tue, 1 Feb 2011 22:57:00 +0000 (16:57 -0600)]
Update SeaBIOS to 0.6.1.2

 - 06d0bdd Minor build fixes.
 - 33abfc0 Update version to 0.6.1.2.
 - 484dd56 fix virtio-blk failure after reboot
 - dd9c0d3 Update version to 0.6.1.1.
 - 50ecfa8 mark irq9 active high in DSDT

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agovhost: force vhost off for non-MSI guests
mst@redhat.com [Tue, 1 Feb 2011 20:13:42 +0000 (22:13 +0200)]
vhost: force vhost off for non-MSI guests

When MSI is off, each interrupt needs to be bounced through the io
thread when it's set/cleared, so vhost-net causes more context switches and
higher CPU utilization than userspace virtio which handles networking in
the same thread.

We'll need to fix this by adding level irq support in kvm irqfd,
for now disable vhost-net in these configurations.

Added a vhostforce flag to force vhost-net back on.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agotap: safe sndbuf default
Michael S. Tsirkin [Tue, 1 Feb 2011 12:25:40 +0000 (14:25 +0200)]
tap: safe sndbuf default

With current sndbuf default value, a blocked
target guest can prevent another guest from
transmitting any packets. While current
sndbuf value (1M) is reported to help some
UDP based workloads, the default should
be safe (0).

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoAdd boot index documentation.
Gleb Natapov [Sun, 30 Jan 2011 10:29:19 +0000 (12:29 +0200)]
Add boot index documentation.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoAdd bootindex handling into usb storage device.
Gleb Natapov [Sun, 30 Jan 2011 10:29:18 +0000 (12:29 +0200)]
Add bootindex handling into usb storage device.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agofix QemuOpts leak
Paolo Bonzini [Thu, 23 Dec 2010 12:42:54 +0000 (13:42 +0100)]
fix QemuOpts leak

Now that no backend's open function saves the passed QemuOpts, fix a leak
in the qemu_chr_open backwards-compatible parser.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoremove text_console_opts
Paolo Bonzini [Thu, 23 Dec 2010 12:42:53 +0000 (13:42 +0100)]
remove text_console_opts

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoadd set_echo implementation for text consoles
Paolo Bonzini [Thu, 23 Dec 2010 12:42:52 +0000 (13:42 +0100)]
add set_echo implementation for text consoles

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agocreate TextConsole together with the CharDeviceState
Paolo Bonzini [Thu, 23 Dec 2010 12:42:51 +0000 (13:42 +0100)]
create TextConsole together with the CharDeviceState

A nicer solution would be to get rid of the opaque pointer and
use containment, but it would also be a much bigger patch.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoadd set_echo implementation for qemu_chr_stdio
Paolo Bonzini [Thu, 23 Dec 2010 12:42:50 +0000 (13:42 +0100)]
add set_echo implementation for qemu_chr_stdio

This also requires moving QemuOpts out of term_init.

Clearing ISIG is independent of whether echo is enabled or disabled.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agomove atexit(term_exit) and O_NONBLOCK to qemu_chr_open_stdio
Paolo Bonzini [Thu, 23 Dec 2010 12:42:49 +0000 (13:42 +0100)]
move atexit(term_exit) and O_NONBLOCK to qemu_chr_open_stdio

In the next patch, term_init will be changed to enable or disable
echo at will.  Move extraneous stuff out of it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoadd qemu_chr_set_echo
Paolo Bonzini [Thu, 23 Dec 2010 12:42:48 +0000 (13:42 +0100)]
add qemu_chr_set_echo

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoremove broken code for tty
Paolo Bonzini [Thu, 23 Dec 2010 12:42:47 +0000 (13:42 +0100)]
remove broken code for tty

This code is taking the settings for a serial port and moving it to
fd 0 when qemu exits.  This is likely just cut-and-paste, rip it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoMerge remote branch 'qemu-kvm/uq/master' into staging
Anthony Liguori [Tue, 1 Feb 2011 21:23:24 +0000 (15:23 -0600)]
Merge remote branch 'qemu-kvm/uq/master' into staging

aliguori: fix build with !defined(KVM_CAP_ASYNC_PF)

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
13 years agoMerge remote branch 'spice/spice.v29.pull' into staging
Anthony Liguori [Tue, 1 Feb 2011 21:22:48 +0000 (15:22 -0600)]
Merge remote branch 'spice/spice.v29.pull' into staging

Conflicts:
trace-events

13 years agoMerge remote branch 'spice/usb.5' into staging
Anthony Liguori [Tue, 1 Feb 2011 21:21:23 +0000 (15:21 -0600)]
Merge remote branch 'spice/usb.5' into staging

13 years agoMerge remote branch 'amit/for-anthony' into staging
Anthony Liguori [Tue, 1 Feb 2011 21:20:56 +0000 (15:20 -0600)]
Merge remote branch 'amit/for-anthony' into staging

13 years agovnc: Fix password expiration through 'change vnc ""' (v2)
Anthony Liguori [Mon, 31 Jan 2011 20:27:36 +0000 (14:27 -0600)]
vnc: Fix password expiration through 'change vnc ""' (v2)

commit 52c18be9e99dabe295321153fda7fce9f76647ac introduced a regression in the
change vnc password command that changed the behavior of setting the VNC
password to an empty string from disabling login to disabling authentication.

This commit refactors the code to eliminate this overloaded semantics in
vnc_display_password and instead introduces the vnc_display_disable_login.   The
monitor implementation then determines the behavior of an empty or missing
string.

Recently, a set_password command was added that allows both the Spice and VNC
password to be set.  This command has not shown up in a release yet so the
behavior is not yet defined.

This patch proposes that an empty password be treated as an empty password with
no special handling.  For specifically disabling login, I believe a new command
should be introduced instead of overloading semantics.

I'm not sure how Spice handles this but I would recommend that we have Spice
and VNC have consistent semantics here for the 0.14.0 release.

Reported-by: Neil Wilson <neil@aldur.co.uk>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
v1 -> v2
 - Add a proper return to make sure that login is really disabled instead of
   relying on the VNC server to treat empty passwords specially

13 years agolinux-user: avoid gcc array overrun warning for sparc
Peter Maydell [Tue, 1 Feb 2011 15:54:52 +0000 (15:54 +0000)]
linux-user: avoid gcc array overrun warning for sparc

Suppress a gcc array bounds overrun warning when filling in the SPARC
signal frame by adjusting our definition of the structure so that the
fp and callers_pc membes are part of the ins[] array rather than
separate fields; since qemu has no need to access the fields individually
there is no need to follow the kernel's structure field naming exactly.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
13 years agohw/slavio_intctl.c: fix gcc warning about array bounds overrun
Peter Maydell [Mon, 31 Jan 2011 10:42:26 +0000 (10:42 +0000)]
hw/slavio_intctl.c: fix gcc warning about array bounds overrun

The Ubuntu 10.10 gcc for ARM complains that we might be overrunning
the cpu_irqs[][] array: silence this by correcting the bounds on the
loop. (In fact we would not have overrun the array because bit
MAX_PILS in pil_pending and irl_out will always be 0.)

Also add a comment about why the loop's lower bound is OK.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
13 years agoSPARC: Fix Leon3 cache control
Fabien Chouteau [Mon, 31 Jan 2011 10:36:54 +0000 (11:36 +0100)]
SPARC: Fix Leon3 cache control

The "leon3_cache_control_int" (op_helper.c) function is called within leon3.c
which leads to segfault error with the global "env".

Now cache control is a CPU feature and everything is handled in op_helper.c.

Signed-off-by: Fabien Chouteau <chouteau@adacore.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
13 years agoMerge remote branch 'mst/for_anthony' into staging
Anthony Liguori [Mon, 31 Jan 2011 18:07:17 +0000 (12:07 -0600)]
Merge remote branch 'mst/for_anthony' into staging

13 years agoblockdev: Fix drive_add for drives without media
Markus Armbruster [Fri, 28 Jan 2011 10:21:46 +0000 (11:21 +0100)]
blockdev: Fix drive_add for drives without media

Watch this:

    (qemu) drive_add 0 if=none
    (qemu) info block
    none0: type=hd removable=0 [not inserted]
    (qemu) drive_del none0
    Segmentation fault (core dumped)

add_init_drive() is confused about drive_init()'s failure modes, and
cleans up when it shouldn't.  This leaves the DriveInfo with member
opts dangling.  drive_del attempts to free it, and dies.

drive_init() behaves as follows:

* If it created a drive with media, it returns its DriveInfo.

* If it created a drive without media, it clears *fatal_error and
  returns NULL.

* If it couldn't create a drive, it sets *fatal_error and returns
  NULL.

Of its three callers:

* drive_init_func() is correct.

* usb_msd_init() assumes drive_init() failed when it returns NULL.
  This is correct only because it always passes option "file", and
  "drive without media" can't happen then.

* add_init_drive() assumes drive_init() failed when it returns NULL.
  This is incorrect.

Clean up drive_init() to return NULL on failure and only on failure.
Drop its parameter fatal_error.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Replace drive_add()'s fmt, ... by optstr parameter
Markus Armbruster [Mon, 31 Jan 2011 10:50:09 +0000 (11:50 +0100)]
blockdev: Replace drive_add()'s fmt, ... by optstr parameter

Let the callers build the optstr.  Only one wants to.  All the others
become simpler, because they don't have to worry about escaping '%'.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Reject multiple definitions for the same drive
Markus Armbruster [Fri, 28 Jan 2011 10:21:45 +0000 (11:21 +0100)]
blockdev: Reject multiple definitions for the same drive

We silently ignore multiple definitions for the same drive:

    $ qemu-system-x86_64 -nodefaults -vnc :1 -S -monitor stdio -drive if=ide,index=1,file=tmp.qcow2 -drive if=ide,index=1,file=nonexistant
    QEMU 0.13.50 monitor - type 'help' for more information
    (qemu) info block
    ide0-hd1: type=hd removable=0 file=tmp.qcow2 backing_file=tmp.img ro=0 drv=qcow2 encrypted=0

With if=none, this can become quite confusing:

    $ qemu-system-x86_64 -nodefaults -vnc :1 -S -monitor stdio -drive if=none,index=1,file=tmp.qcow2,id=eins -drive if=none,index=1,file=nonexistant,id=zwei -device ide-drive,drive=eins -device ide-drive,drive=zwei
    qemu-system-x86_64: -device ide-drive,drive=zwei: Property 'ide-drive.drive' can't find value 'zwei'

The second -device fails, because it refers to drive zwei, which got
silently ignored.

Make multiple drive definitions fail cleanly.

Unfortunately, there's code that relies on multiple drive definitions
being silently ignored: main() merrily adds default drives even when
the user already defined these drives.  Fix that up.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: New drive_get_by_index()
Markus Armbruster [Fri, 28 Jan 2011 10:21:44 +0000 (11:21 +0100)]
blockdev: New drive_get_by_index()

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Factor drive_index_to_{bus,unit}_id out of drive_init()
Markus Armbruster [Fri, 28 Jan 2011 10:21:43 +0000 (11:21 +0100)]
blockdev: Factor drive_index_to_{bus,unit}_id out of drive_init()

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Make drive_add() take explicit type, index parameters
Markus Armbruster [Fri, 28 Jan 2011 10:21:41 +0000 (11:21 +0100)]
blockdev: Make drive_add() take explicit type, index parameters

Before, type & index were hidden in printf-like fmt, ... parameters,
which get expanded into an option string.  Rather inconvenient for
uses later in this series.

New IF_DEFAULT to ask for the machine's default interface.  Before,
that was done by having no option "if" in the option string.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Fix regression in -drive if=scsi,index=N
Markus Armbruster [Fri, 28 Jan 2011 10:21:40 +0000 (11:21 +0100)]
blockdev: Fix regression in -drive if=scsi,index=N

Before commit 622b520f, index=12 meant bus=1,unit=5.

Since the commit, it means bus=0,unit=12.  The drive is created, but
not the guest device.  That's because the controllers we use with
if=scsi drives (lsi53c895a and esp) support only 7 units, and
scsi_bus_legacy_handle_cmdline() ignores drives with unit numbers
exceeding that limit.

Changing the mapping of index to bus, unit is a regression.  Breaking
-drive invocations that used to work just makes it worse.

Revert the part of commit 622b520f that causes this, and clean up
some.

Note that the fix only affects if=scsi.  You can still put more than 7
units on a SCSI bus with -device & friends.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Put BlockInterfaceType names and max_devs in tables
Markus Armbruster [Fri, 28 Jan 2011 10:21:39 +0000 (11:21 +0100)]
blockdev: Put BlockInterfaceType names and max_devs in tables

Turns drive_init()'s lengthy conditional into a concise loop, and
makes the data available elsewhere.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: Move BlockInterfaceType from qemu-common.h to blockdev.h
Markus Armbruster [Fri, 28 Jan 2011 10:21:38 +0000 (11:21 +0100)]
blockdev: Move BlockInterfaceType from qemu-common.h to blockdev.h

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblockdev: New drive_get_next(), replacing qdev_init_bdrv()
Markus Armbruster [Fri, 28 Jan 2011 10:21:37 +0000 (11:21 +0100)]
blockdev: New drive_get_next(), replacing qdev_init_bdrv()

qdev_init_bdrv() doesn't belong into qdev.c; it's about drives, not
qdevs.  Rename to drive_get_next, move to blockdev.c, drop the bogus
DeviceState argument, and return DriveInfo instead of
BlockDriverState.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoqcow2-refcount: remove write-only variables
Blue Swirl [Sat, 29 Jan 2011 08:19:15 +0000 (08:19 +0000)]
qcow2-refcount: remove write-only variables

Variables l2_modified and l2_size are not really used, remove them.
Spotted by GCC 4.6.0:
  CC    block/qcow2-refcount.o
/src/qemu/block/qcow2-refcount.c: In function 'qcow2_update_snapshot_refcount':
/src/qemu/block/qcow2-refcount.c:708:37: error: variable 'l2_modified' set but not used [-Werror=unused-but-set-variable]
/src/qemu/block/qcow2-refcount.c:708:9: error: variable 'l2_size' set but not used [-Werror=unused-but-set-variable]

CC: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoscsi hotplug: Set DriveInfo member bus correctly
Markus Armbruster [Fri, 28 Jan 2011 10:21:36 +0000 (11:21 +0100)]
scsi hotplug: Set DriveInfo member bus correctly

drive_init() picks the first free bus and unit number, unless the user
specifies them.

This isn't a good fit for the drive_add monitor command, because there
we specify the controller by PCI address instead of using bus number
set by drive_init().

scsi_hot_add() takes care to replace the unit number set by
drive_init() by the real one, but it neglects to replace the bus
number.  Thus, bus/unit in DriveInfo may be bogus.  Affects
drive_get() and drive_get_max_bus().  I'm not aware of anything bad
happening because of that; looks like by the time we're hot-plugging,
the two functions aren't used anymore.  Fix it anyway.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoraw-win32: Fix bdrv_flush return value
Kevin Wolf [Fri, 28 Jan 2011 14:57:39 +0000 (15:57 +0100)]
raw-win32: Fix bdrv_flush return value

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoqed: Images with backing file do not require QED_F_NEED_CHECK
Stefan Hajnoczi [Fri, 28 Jan 2011 17:11:59 +0000 (17:11 +0000)]
qed: Images with backing file do not require QED_F_NEED_CHECK

The consistency check on open is necessary in order to fix inconsistent
table offsets left as a result of a crash mid-operation.  Images with a
backing file actually flush before updating table offsets and are
therefore guaranteed to be consistent.  Do not mark these images dirty.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoqcow2: Add bdrv_discard support
Kevin Wolf [Wed, 26 Jan 2011 15:56:48 +0000 (16:56 +0100)]
qcow2: Add bdrv_discard support

This adds a bdrv_discard function to qcow2 that frees the discarded clusters.
It does not yet pass the discard on to the underlying file system driver, but
the space can be reused by future writes to the image.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
13 years agoqemu-io: Fix discard command
Kevin Wolf [Wed, 26 Jan 2011 15:56:34 +0000 (16:56 +0100)]
qemu-io: Fix discard command

qemu-io passed bytes where it's supposed to pass sectors, so discard requests
were off.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
13 years agosheepdog: support creating images on remote hosts
MORITA Kazutaka [Thu, 27 Jan 2011 16:33:10 +0000 (01:33 +0900)]
sheepdog: support creating images on remote hosts

This patch parses the input filename in sd_create(), and enables us
specifying a target server to create sheepdog images.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoReorganize struct Qcow2Cache for better struct packing
Jes Sorensen [Thu, 27 Jan 2011 10:25:03 +0000 (11:25 +0100)]
Reorganize struct Qcow2Cache for better struct packing

Move size after the two pointers in struct Qcow2Cache to get better
packing of struct elements on 64 bit architectures.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoahci: Fix cpu_physical_memory_unmap() argument ordering
Stefan Hajnoczi [Wed, 26 Jan 2011 10:24:56 +0000 (10:24 +0000)]
ahci: Fix cpu_physical_memory_unmap() argument ordering

The len and is_write arguments to cpu_physical_memory_unmap() were
swapped.  This patch changes calls to use the correct argument ordering.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoAdd documentation for STRTOSZ_DEFSUFFIX_ macros
Jes Sorensen [Wed, 26 Jan 2011 10:54:58 +0000 (11:54 +0100)]
Add documentation for STRTOSZ_DEFSUFFIX_ macros

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agovirtio-pci: Disable virtio-ioeventfd when !CONFIG_IOTHREAD
Stefan Hajnoczi [Tue, 25 Jan 2011 16:17:14 +0000 (16:17 +0000)]
virtio-pci: Disable virtio-ioeventfd when !CONFIG_IOTHREAD

It is not possible to use virtio-ioeventfd when building without an I/O
thread.  We rely on a signal to kick us out of vcpu execution.  Timers
and AIO use SIGALRM and SIGUSR2 respectively.  Unfortunately eventfd
does not support O_ASYNC (SIGIO) so eventfd cannot be used in a signal
driven manner.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agovirtio-blk: tell the guest about size changes
Christoph Hellwig [Mon, 24 Jan 2011 12:32:51 +0000 (13:32 +0100)]
virtio-blk: tell the guest about size changes

Raise a config change interrupt when the size changed.  This allows
virtio-blk guest drivers to read-read the information from the
config space once it got the config chaged interrupt.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 years agoblock: tell drivers about an image resize
Christoph Hellwig [Mon, 24 Jan 2011 12:32:41 +0000 (13:32 +0100)]
block: tell drivers about an image resize

Extend the change_cb callback with a reason argument, and use it
to tell drivers about size changes.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>