On Wed, May 20, 2026 at 16:49:32 +0530, Akash Kulhalli via Devel wrote: > Async QEMU process events are normally completed through > qemuProcessEventHandler(). Tests that exercise DEVICE_DELETED completion > need to drive that same path instead of mirroring the production logic > locally. > > Move the declaration to a guarded private header and make the handler > non-static so test code can wire it into a test worker pool. This does not > change runtime behaviour. > > Signed-off-by: Akash Kulhalli <[email protected]> > --- > src/qemu/qemu_driver.c | 9 +++++---- > src/qemu/qemu_driverpriv.h | 27 +++++++++++++++++++++++++++ > 2 files changed, 32 insertions(+), 4 deletions(-) > create mode 100644 src/qemu/qemu_driverpriv.h > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index eda1f42054af..c6d18f6575b7 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -31,6 +31,8 @@ > #include <sys/ioctl.h> > > #include "qemu_driver.h" > +#define LIBVIRT_QEMU_DRIVERPRIV_H_ALLOW > +#include "qemu_driverpriv.h" > #include "qemu_agent.h" > #include "qemu_alias.h" > #include "qemu_block.h" > @@ -139,9 +141,6 @@ VIR_ENUM_IMPL(qemuDumpFormat, > "win-dmp", > ); > > - > -static void qemuProcessEventHandler(void *data, void *opaque); > - > static int qemuStateCleanup(void); > > static int qemuDomainObjStart(virConnectPtr conn, > @@ -4149,7 +4148,9 @@ processShutdownCompletedEvent(virDomainObj *vm) > } > > > -static void qemuProcessEventHandler(void *data, void *opaque) > +void > +qemuProcessEventHandler(void *data, > + void *opaque) > { > struct qemuProcessEvent *processEvent = data; > virDomainObj *vm = processEvent->vm; > diff --git a/src/qemu/qemu_driverpriv.h b/src/qemu/qemu_driverpriv.h > new file mode 100644 > index 000000000000..4fb0cc22b026 > --- /dev/null > +++ b/src/qemu/qemu_driverpriv.h > @@ -0,0 +1,27 @@ > +/* > + * qemu_driverpriv.h: private declarations for QEMU driver internals > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library. If not, see > + * <http://www.gnu.org/licenses/>.
We usually do the shorter SPDX header nowadays + */ > + > +#ifndef LIBVIRT_QEMU_DRIVERPRIV_H_ALLOW > +# error "qemu_driverpriv.h may only be included by qemu_driver.c or test > suites" > +#endif /* LIBVIRT_QEMU_DRIVERPRIV_H_ALLOW */ > + > +#pragma once > + > +void > +qemuProcessEventHandler(void *data, > + void *opaque); > -- > 2.47.3 > Reviewed-by: Peter Krempa <[email protected]>
