Kevin Wolf writes:
> Am 12.06.2019 um 15:11 hat Markus Armbruster geschrieben:
>> Kevin Wolf writes:
>>
>> > Move QMP infrastructure from monitor/misc.c to monitor/qmp.c. This is
>> > code that can be shared for all targets, so compile it only once.
>>
>> Less code compiled per target, yay!
Kevin Wolf writes:
> Am 12.06.2019 um 15:17 hat Markus Armbruster geschrieben:
>> Kevin Wolf writes:
>>
>> > Move HMP infrastructure from monitor/misc.c to monitor/hmp.c. This is
>> > code that can be shared for all targets, so compile it only once.
>> >
>> > The amount of function and
Throttling on the BB have not affected block jobs in a while, so 129
is prone to break (at least on tmpfs with high system load). We can
fix the problem by running the job from a throttle node.
Signed-off-by: Max Reitz
---
Depends on "[PATCH v5 00/42] block: Deal with filters".
Based-on:
This patch adds some tests on how commit copes with filter nodes.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/040 | 177 +
tests/qemu-iotests/040.out | 4 +-
2 files changed, 179 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/040
This adds two tests for cases where our old check_to_replace_node()
function failed to detect that executing this job with these parameters
would result in a cyclic graph.
Signed-off-by: Max Reitz
Reviewed-by: Eric Blake
---
tests/qemu-iotests/041 | 124
With bdrv_filtered_rw_bs(), we can easily handle this default filter
behavior in bdrv_co_block_status().
blkdebug wants to have an additional assertion, so it keeps its own
implementation, except bdrv_co_block_status_from_file() needs to be
inlined there.
Suggested-by: Eric Blake
Signed-off-by:
On 13.06.19 00:08, Max Reitz wrote:
> Quitting qemu should lead to qemu exiting pretty much immediately. That
> means if you have a block job running on a throttled block node, the
> node should ignore its throttling and the job should be cancelled
> immediately.
>
> Unfortunately, that is not
This patch adds some test cases how mirroring relates to filters. One
of them tests what happens when you mirror off a filtered COW node, two
others use the mirror filter node as basically our only example of an
implicitly created filter node so far (besides the commit filter).
Signed-off-by:
Signed-off-by: Max Reitz
---
qapi/block-core.json | 4
block/stream.c | 23 +++
blockdev.c | 2 +-
3 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index df52a90736..a3c5298cf5 100644
---
On 13.06.19 00:09, Max Reitz wrote:
> Signed-off-by: Max Reitz
> ---
> block.c | 26 --
> 1 file changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/block.c b/block.c
> index 11b7ba8cf6..856d9b58be 100644
> --- a/block.c
> +++ b/block.c
> @@ -4511,15 +4511,37 @@
Signed-off-by: Max Reitz
---
tests/qemu-iotests/040 | 61 ++
tests/qemu-iotests/040.out | 4 +--
2 files changed, 63 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040
index 31c2a8da3b..5cbbd30ee3 100755
---
Add a test for committing an overlay in a sub directory to one of the
images in its backing chain, using both relative and absolute filenames.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/020 | 36
tests/qemu-iotests/020.out | 10 ++
2 files
Parts of the block layer treat BDS.backing_file as if it were whatever
the image header says (i.e., if it is a relative path, it is relative to
the overlay), other parts treat it like a cache for
bs->backing->bs->filename (relative paths are relative to the CWD).
Considering
This is useful in other files like blockdev.c to determine for example
whether a node can be written to or not.
Signed-off-by: Max Reitz
---
include/block/block_int.h | 3 +++
block.c | 6 ++
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git
Currently, check_to_replace_node() only allows mirror to replace a node
in the chain of the source node, and only if it is the first non-filter
node below the source. Well, technically, the idea is that you can
exactly replace a quorum child by mirroring from quorum.
This has (probably) two
complete_and_wait() and wait_ready() currently only work for mirror
jobs. Let them work for active commit jobs, too.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/iotests.py | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iotests/iotests.py
We have to perform an active commit whenever the top node has a parent
that has taken the WRITE permission on it.
Signed-off-by: Max Reitz
---
blockdev.c | 24 +---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index
This includes some permission limiting (for example, we only need to
take the RESIZE permission for active commits where the base is smaller
than the top).
Signed-off-by: Max Reitz
---
block/mirror.c | 110 +
blockdev.c | 47
query-block and query-named-block-nodes now return any filtered child
under "backing", not just bs->backing or COW children. This is so that
filters do not interrupt the reported backing chain. This changes the
output for iotest 184, as the throttled node now appears as a backing
child.
Signed-off-by: Max Reitz
---
block/backup.c | 9 +
blockdev.c | 19 +++
2 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/block/backup.c b/block/backup.c
index 715e1d3be8..88435f883d 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -502,6 +502,7 @@
When looking for a dirty bitmap to share, we should handle filters by
just including them in the search (so they do not break backing chains).
Signed-off-by: Max Reitz
---
nbd/server.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/nbd/server.c b/nbd/server.c
index
This changes iotest 204's output, because blkdebug on top of a COW node
used to make qemu-img map disregard the rest of the backing chain (the
backing chain was broken by the filter). With this patch, the
allocation in the base image is reported correctly.
Signed-off-by: Max Reitz
---
When looking for a blkdebug node (which implements debug breakpoints),
use bdrv_primary_bs() to iterate through the graph, because that is
where a blkdebug node would be.
Signed-off-by: Max Reitz
---
block.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/block.c
This includes some permission limiting (for example, we only need to
take the RESIZE permission if the base is smaller than the top).
Signed-off-by: Max Reitz
---
block/block-backend.c | 16 ---
block/commit.c| 97 ---
blockdev.c|
We want to make it explicit where bs->backing is used, and we have done
so. The old role of backing_bs() is now effectively taken by
bdrv_filtered_cow_bs().
Signed-off-by: Max Reitz
---
include/block/block_int.h | 5 -
1 file changed, 5 deletions(-)
diff --git a/include/block/block_int.h
If the driver does not support .bdrv_co_flush() so bdrv_co_flush()
itself has to flush the children of the given node, it should not flush
just bs->file->bs, but in fact both the child that stores data, and the
one that stores metadata (if they are separate).
In any case, the BLKDBG_EVENT()
If a node whose driver does not provide VM state functions has a
metadata child, the VM state should probably go there; if it is a
filter, the VM state should probably go there. It follows that we
should generally go down to the primary child.
Signed-off-by: Max Reitz
---
block/io.c | 5 +++--
Use child access functions when iterating through backing chains so
filters do not break the chain.
Signed-off-by: Max Reitz
---
block.c | 40
1 file changed, 28 insertions(+), 12 deletions(-)
diff --git a/block.c b/block.c
index 11f37983d9..505b3e9a01
This allows us to differentiate between filters and nodes with COW
backing files: Filters cannot be used as overlays at all (for this
function).
Signed-off-by: Max Reitz
---
blockdev.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/blockdev.c b/blockdev.c
index
If the top node's driver does not provide snapshot functionality and we
want to go down the chain, we should go towards the child which stores
the data, i.e. the storage child.
bdrv_snapshot_goto() becomes a bit weird because we may have to redirect
the actual child pointer, so it only works if
Signed-off-by: Max Reitz
---
block.c | 26 --
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/block.c b/block.c
index 11b7ba8cf6..856d9b58be 100644
--- a/block.c
+++ b/block.c
@@ -4511,15 +4511,37 @@ exit:
int64_t
Signed-off-by: Max Reitz
---
block/io.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/block/io.c b/block/io.c
index 64408cf19a..659ea0c52a 100644
--- a/block/io.c
+++ b/block/io.c
@@ -151,6 +151,8 @@ static void bdrv_merge_limits(BlockLimits *dst, const
bdrv_is_encrypted() should not only check the BDS's backing child, but
any filtered child: If a filter's child is encrypted, the filter node
itself naturally is encrypted, too. Furthermore, we need to recurse
down the chain.
(CAF means child access function.)
Signed-off-by: Max Reitz
---
bdrv_refresh_filename() and the kind of related bdrv_dirname() should
look to the primary child when they wish to copy the underlying file's
filename.
Signed-off-by: Max Reitz
---
block.c | 29 +
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/block.c
Reopening a node's backing child needs a bit of special handling because
the "backing" child has different defaults than all other children
(among other things). Adding filter support here is a bit more
difficult than just using the child access functions. In fact, we often
have to directly use
bdrv_has_zero_init() and the related bdrv_unallocated_blocks_are_zero()
should use bdrv_filtered_cow_child() if they want to check whether the
given BDS has a COW backing file.
Signed-off-by: Max Reitz
---
block.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/block.c
Filters cannot compress data themselves but they have to implement
.bdrv_co_pwritev_compressed() still (or they cannot forward compressed
writes). Therefore, checking whether
bs->drv->bdrv_co_pwritev_compressed is non-NULL is not sufficient to
know whether the node can actually handle compressed
Signed-off-by: Max Reitz
---
block/qcow2.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index 9396d490d5..57675c9416 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -5085,6 +5085,13 @@ void qcow2_signal_corruption(BlockDriverState *bs, bool
fatal,
Use the child access functions in the block status inquiry functions as
appropriate.
Signed-off-by: Max Reitz
---
block/io.c | 19 ++-
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/block/io.c b/block/io.c
index 73ade04834..53aabf86b5 100644
--- a/block/io.c
+++
Signed-off-by: Max Reitz
---
block/copy-on-read.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/block/copy-on-read.c b/block/copy-on-read.c
index 53972b1da3..88e1c1f538 100644
--- a/block/copy-on-read.c
+++ b/block/copy-on-read.c
@@ -114,6 +114,16 @@ static int coroutine_fn
In order to make filters work in backing chains, the associated
functions must be able to deal with them and freeze all filter links, be
they COW or R/W filter links.
While at it, add some comments that note which functions require their
caller to ensure that a given child link is not frozen, and
Places that use patterns like
if (bs->drv->is_filter && bs->file) {
... something about bs->file->bs ...
}
should be
BlockDriverState *filtered = bdrv_filtered_rw_bs(bs);
if (filtered) {
... something about @filtered ...
}
instead.
Signed-off-by: Max Reitz
bdrv_set_backing_hd() is a function that explicitly cares about the
bs->backing child. Highlight that in its description and use
child_bs(bs->backing) instead of backing_bs(bs) to make it more obvious.
Signed-off-by: Max Reitz
---
block.c | 4 ++--
1 file changed, 2 insertions(+), 2
Add some helper functions for skipping filters in a chain of block
nodes.
Signed-off-by: Max Reitz
---
include/block/block_int.h | 3 +++
block.c | 55 +++
2 files changed, 58 insertions(+)
diff --git a/include/block/block_int.h
There are BDS children that the general block layer code can access,
namely bs->file and bs->backing. Since the introduction of filters and
external data files, their meaning is not quite clear. bs->backing can
be a COW source, or it can be an R/W-filtered child; bs->file can be an
R/W-filtered
The commit and mirror block nodes are filters, so they should be marked
as such. (Strictly speaking, BDS.is_filter's documentation states that
a filter's child must be bs->file. The following patch will relax this
restriction, however.)
Signed-off-by: Max Reitz
Reviewed-by: Alberto Garcia
Hi,
When we introduced filters, we did it a bit casually. Sure, we talked a
lot about them before, but that was mostly discussion about where
implicit filters should be added to the graph (note that we currently
only have two implicit filters, those being mirror and commit). But in
the end, we
When qemu quits, all throttling should be ignored. That means, if there
is a mirror job running from a throttled node, it should be cancelled
immediately and qemu close without blocking.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/218 | 55 --
Signed-off-by: Max Reitz
---
block/throttle.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/block/throttle.c b/block/throttle.c
index f64dcc27b9..de1b6bd7e8 100644
--- a/block/throttle.c
+++ b/block/throttle.c
@@ -152,6 +152,15 @@ static int coroutine_fn
If the main loop cancels all block jobs while the block layer is not
drained, this cancelling may not happen instantaneously. We can start a
drained section before vm_shutdown(), which entails another
bdrv_drain_all(); this nested bdrv_drain_all() will thus be a no-op,
basically.
We do not have
Quitting qemu should lead to qemu exiting pretty much immediately. That
means if you have a block job running on a throttled block node, the
node should ignore its throttling and the job should be cancelled
immediately.
Unfortunately, that is not what happens. Currently, the node will be
Hi Pino,
On 6/12/19 4:48 PM, Pino Toscano wrote:
> Rewrite the implementation of the ssh block driver to use libssh instead
> of libssh2. The libssh library has various advantages over libssh2:
> - easier API for authentication (for example for using ssh-agent)
> - easier API for known_hosts
On Wed, Jun 12, 2019 at 04:30:03PM +0300, Sam Eiderman wrote:
>
>
> > On 12 Jun 2019, at 16:06, Gerd Hoffmann wrote:
> >
> > On Wed, Jun 12, 2019 at 02:59:31PM +0300, Sam Eiderman wrote:
> >> v1:
> >>
> >> Non-standard logical geometries break under QEMU.
> >>
> >> A virtual disk which
Markus Armbruster writes:
> This series adds optional feature lists to struct definitions in the
> QAPI schema and makes use of them to advertise the new behaviour of
> auto-read-only=on in file-posix.
Queued, thanks!
Eric Blake writes:
> On 6/6/19 10:38 AM, Markus Armbruster wrote:
>> From: Kevin Wolf
>>
>> In commit 23dece19da4 ('file-posix: Make auto-read-only dynamic') ,
>> auto-read-only=on changed its behaviour in file-posix for the 4.0
>> release. This change cannot be detected through the usual
Am 12.06.2019 um 15:49 hat Markus Armbruster geschrieben:
> Kevin Wolf writes:
>
> > Move the monitor core infrastructure from monitor/misc.c to
> > monitor/monitor.c. This is code that can be shared for all targets, so
> > compile it only once.
> >
> > What remains in monitor/misc.c after this
Am 12.06.2019 um 15:17 hat Markus Armbruster geschrieben:
> Kevin Wolf writes:
>
> > Move HMP infrastructure from monitor/misc.c to monitor/hmp.c. This is
> > code that can be shared for all targets, so compile it only once.
> >
> > The amount of function and particularly extern variables in
> >
Am 12.06.2019 um 15:11 hat Markus Armbruster geschrieben:
> Kevin Wolf writes:
>
> > Move QMP infrastructure from monitor/misc.c to monitor/qmp.c. This is
> > code that can be shared for all targets, so compile it only once.
>
> Less code compiled per target, yay!
>
> > The amount of function
Am 12.06.2019 um 16:08 hat Markus Armbruster geschrieben:
> Kevin Wolf writes:
>
> > Am 12.06.2019 um 11:07 hat Markus Armbruster geschrieben:
> >> Cc: Peter for a monitor I/O thread question.
> >>
> >> Kevin Wolf writes:
> >>
> >> > The ReadLineState in Monitor is only used for HMP monitors.
Rewrite the implementation of the ssh block driver to use libssh instead
of libssh2. The libssh library has various advantages over libssh2:
- easier API for authentication (for example for using ssh-agent)
- easier API for known_hosts handling
- supports newer types of keys in known_hosts
Use
On Tue, Jun 11, 2019 at 07:17:14PM +0800, Fam Zheng wrote:
> On Mon, 06/10 19:18, Aarushi Mehta wrote:
> > +/* Prevent infinite loop if submission is refused */
> > +if (ret <= 0) {
> > +if (ret == -EAGAIN) {
> > +continue;
> > +}
> > +
Kevin Wolf writes:
> Am 12.06.2019 um 09:59 hat Markus Armbruster geschrieben:
>> Kevin Wolf writes:
>>
>> > Currently, struct Monitor mixes state that is only relevant for HMP,
>> > state that is only relevant for QMP, and some actually shared state.
>> > In particular, a MonitorQMP field is
Kevin Wolf writes:
> monitor.c mixes a lot of different things in a single file: The core
> monitor infrastructure, HMP infrastrcture, QMP infrastructure, and the
> implementation of several HMP and QMP commands. Almost worse, struct
> Monitor mixes state for HMP, for QMP, and state actually
* Markus Armbruster (arm...@redhat.com) wrote:
> Kevin Wolf writes:
>
> > Am 12.06.2019 um 11:07 hat Markus Armbruster geschrieben:
> >> Cc: Peter for a monitor I/O thread question.
> >>
> >> Kevin Wolf writes:
> >>
> >> > The ReadLineState in Monitor is only used for HMP monitors. Create
>
Kevin Wolf writes:
> Am 12.06.2019 um 11:07 hat Markus Armbruster geschrieben:
>> Cc: Peter for a monitor I/O thread question.
>>
>> Kevin Wolf writes:
>>
>> > The ReadLineState in Monitor is only used for HMP monitors. Create
>> > MonitorHMP and move it there.
>> >
>> > Signed-off-by: Kevin
Kevin Wolf writes:
> Move the monitor core infrastructure from monitor/misc.c to
> monitor/monitor.c. This is code that can be shared for all targets, so
> compile it only once.
>
> What remains in monitor/misc.c after this patch is mostly monitor
> command implementations and code that requires
Am 12.06.2019 um 13:45 hat Markus Armbruster geschrieben:
> Kevin Wolf writes:
>
> > Monitor.cmd_table contains the handlers for HMP commands, so there is no
> > reason to keep it in the state shared with QMP. Move it to MonitorHMP.
> >
> > Signed-off-by: Kevin Wolf
> > Reviewed-by: Dr. David
Patchew URL:
https://patchew.org/QEMU/20190612115939.23825-1-shmuel.eider...@oracle.com/
Hi,
This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
=== TEST SCRIPT BEGIN ===
> On 12 Jun 2019, at 16:06, Gerd Hoffmann wrote:
>
> On Wed, Jun 12, 2019 at 02:59:31PM +0300, Sam Eiderman wrote:
>> v1:
>>
>> Non-standard logical geometries break under QEMU.
>>
>> A virtual disk which contains an operating system which depends on
>> logical geometries (consistent values
Cc'ing Alex (Docker, Travis) and Stefan (MinGW)
On 6/5/19 11:36 PM, Pino Toscano wrote:
> Rewrite the implementation of the ssh block driver to use libssh instead
> of libssh2. The libssh library has various advantages over libssh2:
> - easier API for authentication (for example for using
Kevin Wolf writes:
> Move HMP infrastructure from monitor/misc.c to monitor/hmp.c. This is
> code that can be shared for all targets, so compile it only once.
>
> The amount of function and particularly extern variables in
> monitor_int.h is probably a bit larger than it needs to be, but this
On Wed, Jun 12, 2019 at 02:59:31PM +0300, Sam Eiderman wrote:
> v1:
>
> Non-standard logical geometries break under QEMU.
>
> A virtual disk which contains an operating system which depends on
> logical geometries (consistent values being reported from BIOS INT13
> AH=08) will most likely break
> On 12 Jun 2019, at 15:27, Laszlo Ersek wrote:
>
> On 06/12/19 11:42, Sam Eiderman wrote:
>> Using fw_cfg, supply logical CHS values directly from QEMU to the BIOS.
>>
>> Non-standard logical geometries break under QEMU.
>>
>> A virtual disk which contains an operating system which depends
Kevin Wolf writes:
> Move QMP infrastructure from monitor/misc.c to monitor/qmp.c. This is
> code that can be shared for all targets, so compile it only once.
Less code compiled per target, yay!
> The amount of function and particularly extern variables in
> monitor_int.h is probably a bit
One more nit...
Kevin Wolf writes:
> Before we can split monitor.c, we need to create a header file that
monitor/misc.c
> contains the common definitions that will be used by multiple source
> files.
>
> Signed-off-by: Kevin Wolf
> Reviewed-by: Dr. David Alan Gilbert
Patchew URL:
https://patchew.org/QEMU/20190612115939.23825-1-shmuel.eider...@oracle.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Subject: [SeaBIOS] [QEMU] [PATCH v2 0/8] Add Qemu to SeaBIOS LCHS interface
Type: series
Message-id:
On 06/12/19 11:42, Sam Eiderman wrote:
> Using fw_cfg, supply logical CHS values directly from QEMU to the BIOS.
>
> Non-standard logical geometries break under QEMU.
>
> A virtual disk which contains an operating system which depends on
> logical geometries (consistent values being reported
Fixing tabbing in block related macros.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
hw/ide/qdev.c| 2 +-
include/hw/block/block.h | 16
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/hw/ide/qdev.c
Add logical geometry variables to BlockConf.
A user can now supply "lcyls", "lheads" & "lsecs" for any HD device
that supports CHS ("cyls", "heads", "secs").
These devices include:
* ide-hd
* scsi-hd
* virtio-blk-pci
In future commits we will use the provided LCHS and pass it to the
v1:
Non-standard logical geometries break under QEMU.
A virtual disk which contains an operating system which depends on
logical geometries (consistent values being reported from BIOS INT13
AH=08) will most likely break under QEMU/SeaBIOS if it has non-standard
logical geometries - for example
Kevin Wolf writes:
> Create a new monitor/ subdirectory and move monitor.c there. As the plan
> is to move the monitor core into separate files, use the chance to
> rename it to misc.c.
I figure we'll want to move most of (all of?) monitor/misc.c out. Not a
job this series must finish, of
Add an interface to provide direct logical CHS values for boot devices.
We will use this interface in the next commits.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
bootdevice.c| 55 +
Relevant devices are:
* ide-hd (and ide-cd, ide-drive)
* scsi-hd (and scsi-cd, scsi-disk, scsi-block)
* virtio-blk-pci
We do not call del_boot_device_lchs() for ide-* since we don't need to -
IDE block devices do not support unplugging.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel
Kevin Wolf writes:
> Now that we have a monitor/ subdirectory, let's move hmp.c and qmp.c
> from the root directory there. As they contain implementations of
> monitor commands, rename them to {hmp,qmp}-cmds.c, so that {hmp,qmp}.c
> are free for the HMP and QMP infrastructure.
>
> Signed-off-by:
Add QTest tests to check the logical geometry override option.
The tests in hd-geo-test are out of date - they only test IDE and do not
test interesting MBRs.
I added a few helper functions which will make adding more tests easier.
QTest's fw_cfg helper functions support only legacy fw_cfg, so
We will need to add LCHS removal logic to scsi-hd's unrealize() in the
next commit.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
hw/scsi/scsi-bus.c | 15 +++
include/hw/scsi/scsi.h | 1 +
2 files changed, 16 insertions(+)
diff --git
Using fw_cfg, supply logical CHS values directly from QEMU to the BIOS.
Non-standard logical geometries break under QEMU.
A virtual disk which contains an operating system which depends on
logical geometries (consistent values being reported from BIOS INT13
AH=08) will most likely break under
Move device name construction to a separate function.
We will reuse this function in the following commit to pass logical CHS
parameters through fw_cfg much like we currently pass bootindex.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
bootdevice.c | 61
Kevin Wolf writes:
> Monitor.cmd_table contains the handlers for HMP commands, so there is no
> reason to keep it in the state shared with QMP. Move it to MonitorHMP.
>
> Signed-off-by: Kevin Wolf
> Reviewed-by: Dr. David Alan Gilbert
> ---
> monitor.c | 23 +++
> 1 file
Am 12.06.2019 um 09:59 hat Markus Armbruster geschrieben:
> Kevin Wolf writes:
>
> > Currently, struct Monitor mixes state that is only relevant for HMP,
> > state that is only relevant for QMP, and some actually shared state.
> > In particular, a MonitorQMP field is present in the state of any
Patchew URL:
https://patchew.org/QEMU/20190612094237.47462-1-shmuel.eider...@oracle.com/
Hi,
This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
=== TEST SCRIPT BEGIN ===
Patchew URL:
https://patchew.org/QEMU/20190612094237.47462-1-shmuel.eider...@oracle.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Subject: [SeaBIOS] [QEMU] [PATCH 0/8] Add Qemu to SeaBIOS LCHS interface
Type: series
Message-id:
Am 12.06.2019 um 11:07 hat Markus Armbruster geschrieben:
> Cc: Peter for a monitor I/O thread question.
>
> Kevin Wolf writes:
>
> > The ReadLineState in Monitor is only used for HMP monitors. Create
> > MonitorHMP and move it there.
> >
> > Signed-off-by: Kevin Wolf
> > Reviewed-by: Dr.
On Wed, Jun 12, 2019 at 11:07:01AM +0200, Markus Armbruster wrote:
[...]
> > +struct MonitorHMP {
> > +Monitor common;
> > +/*
> > + * State used only in the thread "owning" the monitor.
> > + * If @use_io_thread, this is @mon_iothread.
> > + * Else, it's the main thread.
> >
Add QTest tests to check the logical geometry override option.
The tests in hd-geo-test are out of date - they only test IDE and do not
test interesting MBRs.
I added a few helper functions which will make adding more tests easier.
QTest's fw_cfg helper functions support only legacy fw_cfg, so
Using fw_cfg, supply logical CHS values directly from QEMU to the BIOS.
Non-standard logical geometries break under QEMU.
A virtual disk which contains an operating system which depends on
logical geometries (consistent values being reported from BIOS INT13
AH=08) will most likely break under
We will need to add LCHS removal logic to scsi-hd's unrealize() in the
next commit.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
hw/scsi/scsi-bus.c | 15 +++
include/hw/scsi/scsi.h | 1 +
2 files changed, 16 insertions(+)
diff --git
Move device name construction to a separate function.
We will reuse this function in the following commit to pass logical CHS
parameters through fw_cfg much like we currently pass bootindex.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
bootdevice.c | 61
Add logical geometry variables to BlockConf.
A user can now supply "lcyls", "lheads" & "lsecs" for any HD device
that supports CHS ("cyls", "heads", "secs").
These devices include:
* ide-hd
* scsi-hd
* virtio-blk-pci
In future commits we will use the provided LCHS and pass it to the
Fixing tabbing in block related macros.
Reviewed-by: Karl Heubaum
Reviewed-by: Arbel Moshe
Signed-off-by: Sam Eiderman
---
hw/ide/qdev.c| 2 +-
include/hw/block/block.h | 16
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/hw/ide/qdev.c
1 - 100 of 116 matches
Mail list logo