From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Snitzer Subject: Re: [PATCH]md:dm.c Fix warning: statement with no effect Date: Tue, 11 Jan 2011 16:22:32 -0500 Message-ID: <20110111212232.GA27125@redhat.com> References: <1278984400-8837-1-git-send-email-justinmattock@gmail.com> <4C5473E0.308@gmail.com> <20100731190757.GC9734@agk-dp.fab.redhat.com> <4C55F3EB.6000903@gmail.com> Reply-To: device-mapper development Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <4C55F3EB.6000903@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: "Justin P. Mattock" , device-mapper development Cc: "Martin K. Petersen" List-Id: dm-devel.ids On Sun, Aug 01 2010 at 6:23pm -0400, Justin P. Mattock wrote: > On 07/31/2010 12:07 PM, Alasdair G Kergon wrote: > >On Sat, Jul 31, 2010 at 12:05:04PM -0700, Justin P. Mattock wrote: > >>haven't heard any feedback on this any ideas? > >>>Ive noticed that having CONFIG_BLK_DEV_INTEGRITY=n I get warning messages generated by GCC(below) > >>> CC drivers/md/dm.o > >>>drivers/md/dm.c: In function 'split_bvec': > >>>drivers/md/dm.c:1117:3: warning: statement with no effect > >>>drivers/md/dm.c: In function 'clone_bio': > >>>drivers/md/dm.c:1145:3: warning: statement with no effect > > > >I'd suggest hiding it inside the .h files and not trying to scatter #ifdefs > >throughout the code. > > > >Alasdair > > > > > > > o.k. this ones a bit tricky.. but I did finally get this to build clean. > below is an updated patch that gets me to build clean. Let me know > if something other than this should be used.(or if this is a good > solution then let me know and I'll resend) > > <---cut---> > > When building the kernel with CONFIG_BLK_DEV_INTEGRITY=n everything > gets sent(if Im reading this correctly) too: > (line #660 bio.h) > #else /* CONFIG_BLK_DEV_INTEGRITY */ > > #define bio_integrity(a) (0) > #define bioset_integrity_create(a, b) (0) > #define bio_integrity_prep(a) (0) > #define bio_integrity_enabled(a) (0) > #define bio_integrity_clone(a, b, c, d) (0) > #define bioset_integrity_free(a) do { } while (0) > #define bio_integrity_free(a, b) do { } while (0) > #define bio_integrity_endio(a, b) do { } while (0) > #define bio_integrity_advance(a, b) do { } while (0) > #define bio_integrity_trim(a, b, c) do { } while (0) > #define bio_integrity_split(a, b, c) do { } while (0) > #define bio_integrity_set_tag(a, b, c) do { } while (0) > #define bio_integrity_get_tag(a, b, c) do { } while (0) > #define bio_integrity_init(a) do { } while (0) > > changing #else preprocessor to #elif !defined(CONFIG_BLK_DEV_INTEGRITY) > opposite of #if defined(CONFIG_BLK_DEV_INTEGRITY) > gets me to build dm.c without the warning message. > please have a look when you have time and let me know if this is a good > solution to this. I'm not seeing any warnings. My .config has: # CONFIG_BLK_DEV_INTEGRITY is not set The bio.h block is: #if defined(CONFIG_BLK_DEV_INTEGRITY) ... #else /* CONFIG_BLK_DEV_INTEGRITY */ #define bio_integrity_clone(a, b, c, d) (0) #endif So I'm not seeing why your proposed change matters. Should already behave properly (and in practice I'm not seeing any problems). > Signed-off-by: Justin P. Mattock > > --- > include/linux/bio.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/include/linux/bio.h b/include/linux/bio.h > index 7fc5606..a8259c8 100644 > --- a/include/linux/bio.h > +++ b/include/linux/bio.h > @@ -657,7 +657,7 @@ extern int bioset_integrity_create(struct > bio_set *, int); > extern void bioset_integrity_free(struct bio_set *); > extern void bio_integrity_init(void); > > -#else /* CONFIG_BLK_DEV_INTEGRITY */ > +#elif !defined(CONFIG_BLK_DEV_INTEGRITY) /* CONFIG_BLK_DEV_INTEGRITY */ > > #define bio_integrity(a) (0) > #define bioset_integrity_create(a, b) (0) > -- 1.7.1.rc1.21.gf3bd6 > > -- > dm-devel mailing list > dm-devel@redhat.com > https://www.redhat.com/mailman/listinfo/dm-devel