<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/block/block.h, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/include/hw/block/block.h?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/block/block.h?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-09-30T16:42:34+00:00</updated>
<entry>
<title>block: add missed block_acct_setup with new block device init procedure</title>
<updated>2022-09-30T16:42:34+00:00</updated>
<author>
<name>Denis V. Lunev</name>
</author>
<published>2022-08-24T09:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=62a6c300f18a9f6994baf6d767985425d48de427'/>
<id>urn:sha1:62a6c300f18a9f6994baf6d767985425d48de427</id>
<content type='text'>
Commit 5f76a7aac156ca75680dad5df4a385fd0b58f6b1 is looking harmless from
the first glance, but it has changed things a lot. 'libvirt' uses it to
detect that it should follow new initialization way and this changes
things considerably. With this procedure followed, blockdev_init() is
not called anymore and thus block_acct_setup() helper is not called.

This means in particular that defaults for block accounting statistics
are changed and account_invalid/account_failed are actually initialized
as false instead of true originally.

This commit changes things to match original world. There are the following
constraints:
* new default value in block_acct_init() is set to true
* block_acct_setup() inside blockdev_init() is called before
  blkconf_apply_backend_options()
* thus newly created option in block device properties has precedence if
  specified

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
CC: Peter Krempa &lt;pkrempa@redhat.com&gt;
CC: Markus Armbruster &lt;armbru@redhat.com&gt;
CC: John Snow &lt;jsnow@redhat.com&gt;
CC: Kevin Wolf &lt;kwolf@redhat.com&gt;
CC: Hanna Reitz &lt;hreitz@redhat.com&gt;
Message-Id: &lt;20220824095044.166009-3-den@openvz.org&gt;
Reviewed-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: Add backend_defaults property</title>
<updated>2021-07-06T13:28:55+00:00</updated>
<author>
<name>Akihiko Odaki</name>
</author>
<published>2021-07-05T13:04:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=12a521b56d0538ca0363dd79db8f359cef40da69'/>
<id>urn:sha1:12a521b56d0538ca0363dd79db8f359cef40da69</id>
<content type='text'>
backend_defaults property allow users to control if default block
properties should be decided with backend information.

If it is off, any backend information will be discarded, which is
suitable if you plan to perform live migration to a different disk backend.

If it is on, a block device may utilize backend information more
aggressively.

By default, it is auto, which uses backend information for block
sizes and ignores the others, which is consistent with the older
versions.

Signed-off-by: Akihiko Odaki &lt;akihiko.odaki@gmail.com&gt;
Message-id: 20210705130458.97642-2-akihiko.odaki@gmail.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>qdev: Move softmmu properties to qdev-properties-system.h</title>
<updated>2020-12-18T20:20:17+00:00</updated>
<author>
<name>Eduardo Habkost</name>
</author>
<published>2020-12-11T22:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ce35e2295ea10caa97e223c1254e345a888e7ed8'/>
<id>urn:sha1:ce35e2295ea10caa97e223c1254e345a888e7ed8</id>
<content type='text'>
Move the property types and property macros implemented in
qdev-properties-system.c to a new qdev-properties-system.h
header.

Signed-off-by: Eduardo Habkost &lt;ehabkost@redhat.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20201211220529.2290218-16-ehabkost@redhat.com&gt;
Signed-off-by: Eduardo Habkost &lt;ehabkost@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: make BlockConf size props 32bit and accept size suffixes</title>
<updated>2020-06-17T12:53:40+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2020-05-28T22:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4f44bbc5bba0858d34b1aa356397847696276546'/>
<id>urn:sha1:4f44bbc5bba0858d34b1aa356397847696276546</id>
<content type='text'>
Convert all size-related properties in BlockConf to 32bit.  This will
accommodate bigger block sizes (in a followup patch).  This also allows
to make them all accept size suffixes, either via DEFINE_PROP_BLOCKSIZE
or via DEFINE_PROP_SIZE32.

Also, since min_io_size is exposed to the guest by scsi and virtio-blk
devices as an uint16_t in units of logical blocks, introduce an
additional check in blkconf_blocksizes to prevent its silent truncation.

Signed-off-by: Roman Kagan &lt;rvkagan@yandex-team.ru&gt;
Message-Id: &lt;20200528225516.1676602-7-rvkagan@yandex-team.ru&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: consolidate blocksize properties consistency checks</title>
<updated>2020-06-17T12:53:40+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2020-05-28T22:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c56ee92fcba8cc922b1b2188ac20614d20223db2'/>
<id>urn:sha1:c56ee92fcba8cc922b1b2188ac20614d20223db2</id>
<content type='text'>
Several block device properties related to blocksize configuration must
be in certain relationship WRT each other: physical block must be no
smaller than logical block; min_io_size, opt_io_size, and
discard_granularity must be a multiple of a logical block.

To ensure these requirements are met, add corresponding consistency
checks to blkconf_blocksizes, adjusting its signature to communicate
possible error to the caller.  Also remove the now redundant consistency
checks from the specific devices.

Signed-off-by: Roman Kagan &lt;rvkagan@yandex-team.ru&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Reviewed-by: Paul Durrant &lt;paul@xen.org&gt;
Message-Id: &lt;20200528225516.1676602-3-rvkagan@yandex-team.ru&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: Support providing LCHS from user</title>
<updated>2019-10-31T15:47:11+00:00</updated>
<author>
<name>Sam Eiderman</name>
</author>
<published>2019-10-16T16:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=64c5bb83df51bc40bf9da5075709b270b86f66e3'/>
<id>urn:sha1:64c5bb83df51bc40bf9da5075709b270b86f66e3</id>
<content type='text'>
Add logical geometry variables to BlockConf.

A user can now supply "lcyls", "lheads" &amp; "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 BIOS
through fw_cfg to be supplied using INT13 routines.

Reviewed-by: Karl Heubaum &lt;karl.heubaum@oracle.com&gt;
Reviewed-by: Arbel Moshe &lt;arbel.moshe@oracle.com&gt;
Signed-off-by: Sam Eiderman &lt;shmuel.eiderman@oracle.com&gt;
Signed-off-by: Sam Eiderman &lt;sameid@google.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Tested-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: Refactor macros - fix tabbing</title>
<updated>2019-10-31T09:28:11+00:00</updated>
<author>
<name>Sam Eiderman</name>
</author>
<published>2019-10-16T16:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8e6a1749373b49f781d744375e6e280f4686f1da'/>
<id>urn:sha1:8e6a1749373b49f781d744375e6e280f4686f1da</id>
<content type='text'>
Fixing tabbing in block related macros.

Signed-off-by: Sam Eiderman &lt;shmuel.eiderman@oracle.com&gt;
Signed-off-by: Sam Eiderman &lt;sameid@google.com&gt;
Reviewed-by: Karl Heubaum &lt;karl.heubaum@oracle.com&gt;
Reviewed-by: Arbel Moshe &lt;arbel.moshe@oracle.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: Add qdev_prop_drive_iothread property type</title>
<updated>2019-06-04T13:22:22+00:00</updated>
<author>
<name>Kevin Wolf</name>
</author>
<published>2019-04-29T15:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=307a5f60ebe0506a5b90f323fdcabb4333405484'/>
<id>urn:sha1:307a5f60ebe0506a5b90f323fdcabb4333405484</id>
<content type='text'>
Some qdev block devices have support for iothreads and take care of the
AioContext they are running in, but most devices don't know about any of
this. For the latter category, the qdev drive property must make sure
that their BlockBackend is in the main AioContext.

Unfortunately, while the current code just does the same thing for
devices that do support iothreads, this is not correct and it would show
as soon as we actually try to keep a consistent AioContext assignment
across all nodes and users of a block graph subtree: If a node is
already in a non-default AioContext because of one of its users,
attaching a new device should still be possible if that device can work
in the same AioContext. Switching the node back to the main context
first and only then into the device AioContext causes failure (because
the existing user wouldn't allow the switch to the main context).

So devices that support iothreads need a different kind of drive
property that leaves the node in its current AioContext, but by using
this type, the device promises to check later that it can work with this
context.

This patch adds the qdev infrastructure that allows devices to signal
that they handle iothreads and qdev should leave the AioContext alone.

Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>pflash: Require backend size to match device, improve errors</title>
<updated>2019-03-26T07:16:24+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2019-03-19T16:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=06f1521795207359a395996c253c306f4ab7586e'/>
<id>urn:sha1:06f1521795207359a395996c253c306f4ab7586e</id>
<content type='text'>
We reject undersized backends with a rather enigmatic "failed to read
the initial flash content" error.  For instance:

    $ qemu-system-ppc64 -S -display none -M sam460ex -drive if=pflash,format=raw,file=eins.img
    qemu-system-ppc64: Initialization of device cfi.pflash02 failed: failed to read the initial flash content

We happily accept oversized images, ignoring their tail.  Throwing
away parts of firmware that way is pretty much certain to end in an
even more enigmatic failure to boot.

Require the backend's size to match the device's size exactly.  Report
mismatch like this:

    qemu-system-ppc64: Initialization of device cfi.pflash01 failed: device requires 1048576 bytes, block backend provides 512 bytes

Improve the error for actual read failures to "can't read block
backend".

To avoid duplicating even more code between the two pflash device
models, do all that in new helper blk_check_size_and_read_all().

The error reporting can still be confusing.  For instance:

    qemu-system-ppc64 -S -display none -M taihu -drive if=pflash,format=raw,file=eins.img  -drive if=pflash,unit=1,format=raw,file=zwei.img
    qemu-system-ppc64: Initialization of device cfi.pflash02 failed: device requires 2097152 bytes, block backend provides 512 bytes

Leaves the user guessing which of the two -drive is wrong.  Mention
the issue in a TODO comment.

Suggested-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Message-Id: &lt;20190319163551.32499-2-armbru@redhat.com&gt;
Reviewed-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: Remove deprecated -drive option serial</title>
<updated>2018-08-15T10:50:39+00:00</updated>
<author>
<name>Kevin Wolf</name>
</author>
<published>2018-06-13T09:01:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=572023f7b235679716c4e57c9d701d83444f14b8'/>
<id>urn:sha1:572023f7b235679716c4e57c9d701d83444f14b8</id>
<content type='text'>
This reinstates commit b0083267444a5e0f28391f6c2831a539f878d424,
which was temporarily reverted for the 3.0 release so that libvirt gets
some extra time to update their command lines.

The -drive option serial was deprecated in QEMU 2.10. It's time to
remove it.

Tests need to be updated to set the serial number with -global instead
of using the -drive option.

Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Jeff Cody &lt;jcody@redhat.com&gt;
</content>
</entry>
</feed>
