<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qemu/storage-daemon, branch master</title>
<subtitle>QEMU development tree</subtitle>
<id>https://git.zx2c4.com/qemu/atom/storage-daemon?h=master</id>
<link rel='self' href='https://git.zx2c4.com/qemu/atom/storage-daemon?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/'/>
<updated>2024-07-03T16:41:26Z</updated>
<entry>
<title>Revert "meson: Propagate gnutls dependency"</title>
<updated>2024-07-03T16:41:26Z</updated>
<author>
<name>Akihiko Odaki</name>
<email>akihiko.odaki@daynix.com</email>
</author>
<published>2024-05-24T08:00:23Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=7b1070a7e17cc65c3134350728c85e1d218c3578'/>
<id>urn:sha1:7b1070a7e17cc65c3134350728c85e1d218c3578</id>
<content type='text'>
This reverts commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2.

It was only needed because of duplicate objects caused by
declare_dependency(link_whole: ...), and can be dropped now
that meson.build specifies objects and dependencies separately
for the internal dependencies.

Signed-off-by: Akihiko Odaki &lt;akihiko.odaki@daynix.com&gt;
Message-ID: &lt;20240524-objects-v1-2-07cbbe96166b@daynix.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>meson: move block.syms dependency out of libblock</title>
<updated>2024-07-03T16:41:25Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2024-05-24T11:17:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=e8f62689acd5930a712655d0c6838ec5eccc6b1c'/>
<id>urn:sha1:e8f62689acd5930a712655d0c6838ec5eccc6b1c</id>
<content type='text'>
In order to define libqemuutil symbols that are requested by block modules,
QEMU currently uses a combination of the "link_depends" argument of
libraries (which is propagated into dependencies, but not available in
dependencies) and the "link_args" argument of declare_dependency()
(which _is_ available in static_library, but probably not used for
historical reasons only).

Unfortunately the link_depends will not be propagated into the
"block" dependency if it is defined using
declare_dependency(objects: ...); and it is not possible to
add it directly to the dependency because the keyword argument
simply is not available.

The only solution, in order to switch to defining the dependency
without using "link_whole" (which has problems of its own, see
https://github.com/mesonbuild/meson/pull/8151#issuecomment-754796420),
is unfortunately to add the link_args and link_depends to the
executables directly; fortunately there is just four of them.

It is possible (and I will look into it) to add "link_depends"
to declare_dependency(), but it probably will be a while before
QEMU can use it.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>meson: remove config_targetos</title>
<updated>2023-12-31T08:11:28Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2023-08-30T09:52:43Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=1220f5813a7e1c4ff9cf7ffa189f979be3801044'/>
<id>urn:sha1:1220f5813a7e1c4ff9cf7ffa189f979be3801044</id>
<content type='text'>
config_targetos is now empty and can be removed; its use in sourcesets
that do not involve target-specific files can be replaced with an empty
dictionary.

In fact, at this point *all* sourcesets that do not involve
target-specific files are just glorified mutable arrays.  Enforce that
they never test for symbols in "when:" by computing the set of files
without "strict: false".

Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>configure, meson: remove target OS symbols from config-host.mak</title>
<updated>2023-09-07T11:32:37Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2023-08-30T09:39:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=1f2146f7ca0f04afc62c4a170ec78bd030f3e72f'/>
<id>urn:sha1:1f2146f7ca0f04afc62c4a170ec78bd030f3e72f</id>
<content type='text'>
Stop applying config-host.mak to the sourcesets, since it does not
have any more CONFIG_* symbols coming from the command line.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi storage-daemon/qapi: Fix documentation section structure</title>
<updated>2023-04-28T09:48:34Z</updated>
<author>
<name>Markus Armbruster</name>
<email>armbru@redhat.com</email>
</author>
<published>2023-04-25T06:42:23Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=4622c70689f0bc39bd31922cee2a569f2bc3f390'/>
<id>urn:sha1:4622c70689f0bc39bd31922cee2a569f2bc3f390</id>
<content type='text'>
In the QEMU QMP Reference Manual, subsection "Block core (VM
unrelated)" is empty.  Its contents is at the end of subsection
"Background jobs" instead.  That's because qapi/job.json is included
first from qapi/block-core.json, which makes qapi/job.json's
documentation go between qapi/block-core.json's subsection heading and
contents.

In the QEMU Storage Daemon QMP Reference Manual, section "Block
Devices" contains nothing but an empty subsection "Block core (VM
unrelated)".  The latter's contents is at the end section "Socket data
types", along with subsection "Block device exports".  Subsection
"Background jobs" is at the end of section "Cryptography".  All this
is because storage-daemon/qapi/qapi-schema.json includes modules in a
confused order.

Fix both as follows.

Turn subsection "Background jobs" into a section.

Move it before section "Block devices" in the QEMU QMP Reference
Manual, by including qapi/jobs.json right before qapi/block.json.

Reorder include directives in storage-daemon/qapi/qapi-schema.json to
match the order in qapi/qapi-schema.json, so that the QEMU Storage
Daemon QMP Reference Manual's section structure the QEMU QMP Reference
Manual's.

In the QEMU QMP Reference Manual, qapi/cryptodev.json's documentation
is at the end of section "Virtio devices".  That's because it lacks a
section heading, and therefore gets squashed into whatever section
happens to precede it.

Add section heading so it's in section "Cryptography devices".

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Acked-by: zhenwei pi &lt;pizhenwei@bytedance.com&gt;
Message-Id: &lt;20230425064223.820979-17-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>monitor: Loosen coupling between misc.c and monitor.c slightly</title>
<updated>2023-02-04T06:56:54Z</updated>
<author>
<name>Markus Armbruster</name>
<email>armbru@redhat.com</email>
</author>
<published>2023-01-24T12:19:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=9d2b5f2ce4c7913406f7d17aafcf2f71757e49d8'/>
<id>urn:sha1:9d2b5f2ce4c7913406f7d17aafcf2f71757e49d8</id>
<content type='text'>
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Message-Id: &lt;20230124121946.1139465-32-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>include/block: Untangle inclusion loops</title>
<updated>2023-01-20T06:24:28Z</updated>
<author>
<name>Markus Armbruster</name>
<email>armbru@redhat.com</email>
</author>
<published>2022-12-21T13:35:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=e2c1c34f139f49ef909bb4322607fb8b39002312'/>
<id>urn:sha1:e2c1c34f139f49ef909bb4322607fb8b39002312</id>
<content type='text'>
We have two inclusion loops:

       block/block.h
    -&gt; block/block-global-state.h
    -&gt; block/block-common.h
    -&gt; block/blockjob.h
    -&gt; block/block.h

       block/block.h
    -&gt; block/block-io.h
    -&gt; block/block-common.h
    -&gt; block/blockjob.h
    -&gt; block/block.h

I believe these go back to Emanuele's reorganization of the block API,
merged a few months ago in commit d7e2fe4aac8.

Fortunately, breaking them is merely a matter of deleting unnecessary
includes from headers, and adding them back in places where they are
now missing.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Message-Id: &lt;20221221133551.3967339-2-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qsd: Unlink absolute PID file path</title>
<updated>2022-07-12T12:30:38Z</updated>
<author>
<name>Hanna Reitz</name>
<email>hreitz@redhat.com</email>
</author>
<published>2022-06-09T12:26:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=9d8f8233b9fa525a7e37350fbc18877051128c5d'/>
<id>urn:sha1:9d8f8233b9fa525a7e37350fbc18877051128c5d</id>
<content type='text'>
After writing the PID file, we register an atexit() handler to unlink it
when the process terminates.  However, if the process has changed its
working directory in the meantime (e.g. in os_setup_post() when
daemonizing), this will not work when the PID file path was relative.
Therefore, pass the absolute path (created with realpath()) to the
unlink() call in the atexit() handler.

(realpath() needs a path pointing to an existing file, so we cannot use
it before qemu_write_pidfile().)

Reproducer:
$ cd /tmp
$ qemu-storage-daemon --daemonize --pidfile qsd.pid
$ file qsd.pid
qsd.pid: ASCII text
$ kill $(cat qsd.pid)
$ file qsd.pid
qsd.pid: ASCII text

(qsd.pid should be gone after the process has terminated.)

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2092322
Signed-off-by: Hanna Reitz &lt;hreitz@redhat.com&gt;
Message-Id: &lt;20220609122701.17172-2-hreitz@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</content>
</entry>
<entry>
<title>qsd: Do not use error_report() before monitor_init</title>
<updated>2022-07-12T11:54:44Z</updated>
<author>
<name>Hanna Reitz</name>
<email>hreitz@redhat.com</email>
</author>
<published>2022-06-09T12:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=1a8fd0e3e73806a5eca3384d49503e6bc50ca20d'/>
<id>urn:sha1:1a8fd0e3e73806a5eca3384d49503e6bc50ca20d</id>
<content type='text'>
error_report() only works once monitor_init_globals_core() has been
called, which is not the case when parsing the --daemonize option.  Use
fprintf(stderr, ...) instead.

Fixes: 2525edd85fec53e23fda98974a15e3b3c8957596 ("qsd: Add --daemonize")
Signed-off-by: Hanna Reitz &lt;hreitz@redhat.com&gt;
Message-Id: &lt;20220609122852.21140-1-hreitz@redhat.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
<entry>
<title>vduse-blk: Add name option</title>
<updated>2022-06-24T15:07:06Z</updated>
<author>
<name>Xie Yongji</name>
<email>xieyongji@bytedance.com</email>
</author>
<published>2022-06-14T05:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=779d82e1d305f2a9cbd7f48cf6555ad58145e04a'/>
<id>urn:sha1:779d82e1d305f2a9cbd7f48cf6555ad58145e04a</id>
<content type='text'>
Currently we use 'id' option as the name of VDUSE device.
It's a bit confusing since we use one value for two different
purposes: the ID to identfy the export within QEMU (must be
distinct from any other exports in the same QEMU process, but
can overlap with names used by other processes), and the VDUSE
name to uniquely identify it on the host (must be distinct from
other VDUSE devices on the same host, but can overlap with other
export types like NBD in the same process). To make it clear,
this patch adds a separate 'name' option to specify the VDUSE
name for the vduse-blk export instead.

Signed-off-by: Xie Yongji &lt;xieyongji@bytedance.com&gt;
Message-Id: &lt;20220614051532.92-7-xieyongji@bytedance.com&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
</feed>
