From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
Qemu-block <qemu-block@nongnu.org>,
Juan Quintela <quintela@redhat.com>,
Libvirt <libvir-list@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>,
Max Reitz <mreitz@redhat.com>, John Snow <jsnow@redhat.com>
Subject: Re: [PULL 00/10] Bitmaps patches
Date: Tue, 17 Mar 2020 14:57:03 +0000 [thread overview]
Message-ID: <20200317145703.GH2041016@redhat.com> (raw)
In-Reply-To: <5805273e-0a2f-850a-a07a-97dac0d7211e@redhat.com>
On Tue, Mar 17, 2020 at 09:40:00AM -0500, Eric Blake wrote:
> On 3/17/20 9:00 AM, Peter Maydell wrote:
> > On Tue, 17 Mar 2020 at 04:38, John Snow <jsnow@redhat.com> wrote:
>
> > >
> > > block/qcow2-bitmap: use bdrv_dirty_bitmap_next_dirty (2020-03-12 16:36:46 -0400)
> > >
> > > ----------------------------------------------------------------
> > > Pull request
> > >
> > > ---------------------------------------------------------------
> >
> > Hi; this fails to compile with clang:
> >
> > /home/petmay01/linaro/qemu-for-merges/nbd/server.c:1937:1: error:
> > unused function 'glib_listautoptr_cleanup_NBDExtentArray'
> > [-Werror,-Wunused-function]
> > G_DEFINE_AUTOPTR_CLEANUP_FUNC(NBDExtentArray, nbd_extent_array_free);
> > ^
> > /usr/include/glib-2.0/glib/gmacros.h:462:22: note: expanded from macro
> > 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
> > static inline void _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) (GList
> > **_l) { g_list_free_full (*_l, (GDestroyNotify) func); } \
> > ^
> > /usr/include/glib-2.0/glib/gmacros.h:443:48: note: expanded from macro
> > '_GLIB_AUTOPTR_LIST_FUNC_NAME'
> > #define _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName)
> > glib_listautoptr_cleanup_##TypeName
> > ^
> > <scratch space>:49:1: note: expanded from here
> > glib_listautoptr_cleanup_NBDExtentArray
> > ^
>
> Should we add -Wno-unused-function to CFLAGS when dealing with a version of
> clang that complains about that version of glib's headers? Is it fixed in a
> newer version of glib, where we could just backport a newer definition of
> G_DEFINE_AUTOPTR_CLEANUP_FUNC() that adds whatever annotations are needed to
> shut the compiler up?
>
> On IRC, danpb pointed me to libvirt's solution:
> https://libvirt.org/git/?p=libvirt.git;a=commit;h=44e7f029
>
> Maybe we just write our own macro wrapper around
> G_DEFINE_AUTOPTR_CLEANUP_FUNC which takes care of adding necessary
> annotations and use that instead (and our macro name might be shorter...)
My preference is to stick with regular glib functions/macros whereever
practical, rather than inventing QEMU replacements which add a knowledge
burden for contributors. That's why we moved to -Wno-unused-function in
libvirt.
I don't feel like -Wno-unused-function looses anything significant, as
the GCC builds will still be reporting unused functions which will
catch majority of cases.
Possibly we could figure out a patch for glib upstream that uses pragma
push/pop to squelch the warning ? They are quite receptive to patches
IME.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2020-03-17 14:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-17 4:38 [PULL 00/10] Bitmaps patches John Snow
2020-03-17 4:38 ` [PULL 01/10] hbitmap: assert that we don't create bitmap larger than INT64_MAX John Snow
2020-03-17 4:38 ` [PULL 02/10] hbitmap: move hbitmap_iter_next_word to hbitmap.c John Snow
2020-03-17 4:38 ` [PULL 03/10] hbitmap: unpublish hbitmap_iter_skip_words John Snow
2020-03-17 4:38 ` [PULL 04/10] hbitmap: drop meta bitmaps as they are unused John Snow
2020-03-17 4:38 ` [PULL 05/10] block/dirty-bitmap: switch _next_dirty_area and _next_zero to int64_t John Snow
2020-03-17 4:38 ` [PULL 06/10] block/dirty-bitmap: add _next_dirty API John Snow
2020-03-17 4:38 ` [PULL 07/10] block/dirty-bitmap: improve _next_dirty_area API John Snow
2020-03-17 4:38 ` [PULL 08/10] nbd/server: introduce NBDExtentArray John Snow
2020-03-17 4:38 ` [PULL 09/10] nbd/server: use bdrv_dirty_bitmap_next_dirty_area John Snow
2020-03-17 4:38 ` [PULL 10/10] block/qcow2-bitmap: use bdrv_dirty_bitmap_next_dirty John Snow
2020-03-17 14:00 ` [PULL 00/10] Bitmaps patches Peter Maydell
2020-03-17 14:40 ` Eric Blake
2020-03-17 14:57 ` Daniel P. Berrangé [this message]
2020-03-17 15:00 ` Peter Maydell
2020-03-17 15:05 ` Daniel P. Berrangé
2020-03-17 15:07 ` Peter Maydell
2020-03-17 15:11 ` Daniel P. Berrangé
2020-03-17 15:49 ` Eric Blake
2020-03-18 12:47 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200317145703.GH2041016@redhat.com \
--to=berrange@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=fam@euphon.net \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=libvir-list@redhat.com \
--cc=mreitz@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
--cc=vsementsov@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).