chardev: Propagate error from logfile opening
commit692277f38dcfe6fff47825d14586424f45b4dfd8
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 17 Aug 2021 08:56:27 +0000 (17 10:56 +0200)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 14 Sep 2021 12:52:33 +0000 (14 16:52 +0400)
tree128f27d1e149bc6648ea1c02a0e092039153a26e
parent2a2d51bc07a58bb6418a07da151acebcc3c530c0
chardev: Propagate error from logfile opening

If a chardev has a logfile the file is opened using
qemu_open_old() which does the job, but since @errp is not
propagated into qemu_open_internal() we lose much more accurate
error and just report "Unable to open logfile $errno".  When
using plain files, it's probably okay as nothing complex is
happening behind the curtains. But the problem becomes more
prominent when passing an "/dev/fdset/XXX" path since much more
needs to be done.

The fix is to use qemu_create() which passes @errp further down.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <f34ee80866e6f591bcb98401dee27682f5543fca.1629190206.git.mprivozn@redhat.com>
chardev/char.c