Hi,
v1 cover letter:
https://lists.nongnu.org/archive/html/qemu-block/2021-12/msg00499.html
In v2, I followed Vladimir’s suggestion to look into whether we could
reuse os_daemonize(). Indeed we can, and it makes patch 3 (formerly 2)
much simpler!
I decided to leave patch 2 (formerly 1) largely unchanged, because it
seems to me like the point of contention is whether it’s at all
reasonable to introduce a second argument pass for this feature, and not
e.g. which arguments we parse during it.
I believe such an additional pass is a necessity for --daemonize, so
either we really don’t want this pass and so cannot add this feature
(and just drop this series); or we do want this feature, and then we
have to add this pass.
v2:
- Patch 1: Added, so we can use os_daemonize() in patch 3
(os_daemonize() internally will only do something if the static
`daemonize` variable is set, which this new os_set_daemonize()
function does; otherwise, you can only set it by invoking
os_parse_cmd_args(), which I would rather not (feels like abuse))
- Patch 2:
- Tried to be more verbose in the commit description
- Made it clear in process_options() that only QEMU-specific options
are processed in order
- Patch 3: Vastly simplified by using the existing os_daemonize() and
os_setup_post() functions
git backport-diff against v1:
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
001/4:[down] 'os-posix: Add os_set_daemonize()'
002/4:[0006] [FC] 'qsd: Add pre-init argument parsing pass'
003/4:[0148] [FC] 'qsd: Add --daemonize'
004/4:[----] [--] 'iotests/185: Add post-READY quit tests'
Hanna Reitz (4):
os-posix: Add os_set_daemonize()
qsd: Add pre-init argument parsing pass
qsd: Add --daemonize
iotests/185: Add post-READY quit tests
docs/tools/qemu-storage-daemon.rst | 7 +
include/sysemu/os-posix.h | 1 +
include/sysemu/os-win32.h | 5 +
os-posix.c | 6 +
storage-daemon/qemu-storage-daemon.c | 58 +++++++-
tests/qemu-iotests/185 | 190 ++++++++++++++++++++++++++-
tests/qemu-iotests/185.out | 48 +++++++
7 files changed, 309 insertions(+), 6 deletions(-)
--
2.34.1