[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] d4362d: blkdebug: show an error for invalid e
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] d4362d: blkdebug: show an error for invalid event names |
Date: |
Mon, 29 Sep 2014 06:30:07 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: d4362d642e5cfd50671eba250b5888a89a88691a
https://github.com/qemu/qemu/commit/d4362d642e5cfd50671eba250b5888a89a88691a
Author: Stefan Hajnoczi <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M block/blkdebug.c
Log Message:
-----------
blkdebug: show an error for invalid event names
It is easy to typo a blkdebug configuration and waste a lot of time
figuring out why no rules are matching.
Push the Error** down into add_rule() so we can report an error when the
event name is invalid.
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Gonglei <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: a0f1eab157560d953e8460b066a362f034bbf717
https://github.com/qemu/qemu/commit/a0f1eab157560d953e8460b066a362f034bbf717
Author: Markus Armbruster <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M blockdev.c
Log Message:
-----------
blockdev: Disentangle BlockDriverState and DriveInfo creation
blockdev_init() mixes up BlockDriverState and DriveInfo initialization
Finish the BlockDriverState job before starting to mess with
DriveInfo. Easier on the eyes.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Benoît Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: 3ae59580a0db469c1de72d5c58266b08fb096056
https://github.com/qemu/qemu/commit/3ae59580a0db469c1de72d5c58266b08fb096056
Author: Markus Armbruster <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M block.c
M blockdev.c
M include/sysemu/blockdev.h
M stubs/Makefile.objs
A stubs/blockdev.c
Log Message:
-----------
block: Keep DriveInfo alive until BlockDriverState dies
If the BDS's refcnt > 0, drive_del() destroys the DriveInfo, but not
the BDS. This can happen in three places:
* Device model destruction during unplug: blockdev_auto_del()
* Xen IDE unplug: pci_piix3_xen_ide_unplug()
* drive_del command when no device model is attached: do_drive_del()
The other callers of drive_del are on error paths where refcnt == 1.
If the user somehow manages to plug in a device model using a BDS that
has gone through drive_del(), the legacy configuration passed in
DriveInfo doesn't reach the device model, and automatic deletion on
unplug doesn't work. Worse, some device models such as scsi-disk
crash when DriveInfo doesn't exist.
This is theoretical; I didn't research an actual reproducer. The problem
was introduced when we replaced DriveInfo reference counting by BDS
reference counting in commit a94a3fa..fa510eb.
Fix by keeping DriveInfo alive until its BDS dies.
This affects qemu_drive_opts: now you can't reuse the same ID for new
drive options until the BDS dies. Before, you could, but since the
code always attempts to create a BDS with the same ID next, the
enclosing operation "create a new drive" failed anyway. Different
error path, same result.
Unfortunately, the fix involves use of blockdev.c stuff from block.c,
which is a layering violation. Fortunately, my forthcoming
BlockBackend work will get rid of it again.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Benoît Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: e5d7bbeb10b72888e112646ef68b1bea0e4e286d
https://github.com/qemu/qemu/commit/e5d7bbeb10b72888e112646ef68b1bea0e4e286d
Author: Markus Armbruster <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M qemu-nbd.c
Log Message:
-----------
qemu-nbd: Destroy the BlockDriverState properly
Match the bdrv_new() with a bdrv_unref(), just to be tidy.
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: d224469d87140f0ab9496f752f6042606b80718b
https://github.com/qemu/qemu/commit/d224469d87140f0ab9496f752f6042606b80718b
Author: Markus Armbruster <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M block.c
M tests/qemu-iotests/087.out
Log Message:
-----------
block: Improve message for device name clashing with node name
Suggested-by: Benoit Canet <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Benoît Canet <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: 247147fbc107f818630c4044931de39b89c99342
https://github.com/qemu/qemu/commit/247147fbc107f818630c4044931de39b89c99342
Author: Kevin Wolf <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M blockdev.c
Log Message:
-----------
block: Specify -drive legacy option aliases in array
Instead of a series of qemu_opt_rename() calls, use an array that
contains all of the renames and call qemu_opt_rename() in a loop. This
will keep the code readable even when we add an error return to
qemu_opt_rename().
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoît Canet <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Commit: 5abbf0ee4d87c695deb1c3fca9bb994b93a3e3be
https://github.com/qemu/qemu/commit/5abbf0ee4d87c695deb1c3fca9bb994b93a3e3be
Author: Kevin Wolf <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M blockdev.c
M tests/qemu-iotests/051
M tests/qemu-iotests/051.out
Log Message:
-----------
block: Catch simultaneous usage of options and their aliases
While thinking about precedence of conflicting block device options from
different sources, I noticed that you can specify both an option and its
legacy alias at the same time (e.g. readonly=on,read-only=off). Rather
than specifying the order of precedence, we should simply forbid such
combinations.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoît Canet <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Commit: f9d7b4b3b4249336be665180a1aea7ce5497d2ca
https://github.com/qemu/qemu/commit/f9d7b4b3b4249336be665180a1aea7ce5497d2ca
Author: Stefan Hajnoczi <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
A docs/blkdebug.txt
Log Message:
-----------
docs: add blkdebug block driver documentation
The blkdebug block driver is undocumented. Documenting it is worthwhile
since it offers powerful error injection features that are used by
qemu-iotests test cases.
This document will make it easier for people to learn about and use
blkdebug.
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: a4127c428e61317b2966ec7fe480c3c6fb2d08df
https://github.com/qemu/qemu/commit/a4127c428e61317b2966ec7fe480c3c6fb2d08df
Author: Stefan Hajnoczi <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M block/vpc.c
Log Message:
-----------
vpc: fix beX_to_cpu() and cpu_to_beX() confusion
The beX_to_cpu() and cpu_to_beX() functions perform the same operation -
they do a byteswap if the host CPU endianness is little-endian or a
nothing otherwise.
The point of two names for the same operation is that it documents which
direction the data is being converted. This makes it clear whether the
data is suitable for CPU processing or in its external representation.
This patch fixes incorrect beX_to_cpu()/cpu_to_beX() usage.
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: 9aebf3b89281a173d2dfeee379b800be5e3f363e
https://github.com/qemu/qemu/commit/9aebf3b89281a173d2dfeee379b800be5e3f363e
Author: Kevin Wolf <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M block.c
M include/qemu/option.h
M qemu-img.c
M util/qemu-option.c
Log Message:
-----------
block: Validate node-name
The device_name of a BlockDriverState is currently checked because it is
always used as a QemuOpts ID and qemu_opts_create() checks whether such
IDs are wellformed.
node-name is supposed to share the same namespace, but it isn't checked
currently. This patch adds explicit checks both for device_name and
node-name so that the same rules will still apply even if QemuOpts won't
be used any more at some point.
qemu-img used to use names with spaces in them, which isn't allowed any
more. Replace them with underscores.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Commit: c9d17ad0dd3f04cdef44d58db97ea9864fbcdee7
https://github.com/qemu/qemu/commit/c9d17ad0dd3f04cdef44d58db97ea9864fbcdee7
Author: Fam Zheng <address@hidden>
Date: 2014-09-25 (Thu, 25 Sep 2014)
Changed paths:
M tests/qemu-iotests/common
Log Message:
-----------
qemu-iotests: Fail test if explicit test case number is unknown
When we expand a number range, we just print "$id - unknown test,
ignored", this is convenient if we want to run a range of tests.
When we designate a test case number explicitly, we shouldn't just
ignore it if the case script doesn't exist.
Print an error and fail the test.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Commit: 0ebcc564533454853e66cbe665a0d23bf7199834
https://github.com/qemu/qemu/commit/0ebcc564533454853e66cbe665a0d23bf7199834
Author: Peter Maydell <address@hidden>
Date: 2014-09-29 (Mon, 29 Sep 2014)
Changed paths:
M block.c
M block/blkdebug.c
M block/vpc.c
M blockdev.c
A docs/blkdebug.txt
M include/qemu/option.h
M include/sysemu/blockdev.h
M qemu-img.c
M qemu-nbd.c
M stubs/Makefile.objs
A stubs/blockdev.c
M tests/qemu-iotests/051
M tests/qemu-iotests/051.out
M tests/qemu-iotests/087.out
M tests/qemu-iotests/common
M util/qemu-option.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block patches
# gpg: Signature made Fri 26 Sep 2014 19:57:52 BST using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
* remotes/kevin/tags/for-upstream:
qemu-iotests: Fail test if explicit test case number is unknown
block: Validate node-name
vpc: fix beX_to_cpu() and cpu_to_beX() confusion
docs: add blkdebug block driver documentation
block: Catch simultaneous usage of options and their aliases
block: Specify -drive legacy option aliases in array
block: Improve message for device name clashing with node name
qemu-nbd: Destroy the BlockDriverState properly
block: Keep DriveInfo alive until BlockDriverState dies
blockdev: Disentangle BlockDriverState and DriveInfo creation
blkdebug: show an error for invalid event names
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/e80084d352be...0ebcc5645334
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] d4362d: blkdebug: show an error for invalid event names,
GitHub <=