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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.