* Thomas Huth (th...@redhat.com) wrote: > On 15/03/2021 22.05, Philippe Mathieu-Daudé wrote: > > Hi Thomas, > > > > +Alex > > > > On 3/15/21 8:07 PM, Thomas Huth wrote: > > > The CONFIG_VFIO switch only works in target specific code. Since > > > migration/migration.c is common code, the #ifdef does not have > > > the intended behavior here. Move the related code to a separate > > > file now which gets compiled via specific_ss instead. > > > > > > Fixes: 3710586caa ("qapi: Add VFIO devices migration stats in Migration > > > stats") > > > Signed-off-by: Thomas Huth <th...@redhat.com> > > > --- > > > migration/meson.build | 3 ++- > > > migration/migration.c | 15 --------------- > > > migration/migration.h | 2 ++ > > > migration/special.c | 25 +++++++++++++++++++++++++ > > > 4 files changed, 29 insertions(+), 16 deletions(-) > > > create mode 100644 migration/special.c > > > > > > diff --git a/migration/meson.build b/migration/meson.build > > > index 9645f44005..e1f72f6ba0 100644 > > > --- a/migration/meson.build > > > +++ b/migration/meson.build > > > @@ -30,4 +30,5 @@ softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: > > > files('rdma.c')) > > > softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: > > > files('block.c')) > > > softmmu_ss.add(when: zstd, if_true: files('multifd-zstd.c')) > > > -specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: files('dirtyrate.c', > > > 'ram.c')) > > > +specific_ss.add(when: 'CONFIG_SOFTMMU', > > > + if_true: files('dirtyrate.c', 'ram.c', 'special.c')) > > > > Why not simply name this migration/vfio.c? That way we do not start > > mixed bag of everything target specific. > > I don't mind ... well, if we have other small functions there in the future > that depend on CONFIG switches, a mixed bag file might not be such a bad > idea instead of having lots and lots of small other files ... OTOH, if there > is more vfio migration code in the works that might fit here, a name like > vfio.c would be better, of course. What do the maintainers think?
Could this be done with stubs instead of an ifdef; i.e. a stub of 'vfio_mig_active' and 'vfio_mig_bytes_transferred'? As for naming 'special' is too generic. 'vfio' is too specific (especially since most vfio code ends up under hw/vfio) how about migration/target.c as something which is explicit about why it's done that way. Dave > Thomas -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK