On Sun, Aug 01 2010 at 6:23pm -0400, Justin P. Mattock <justinmattock@xxxxxxxxx> 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 <justinmattock@xxxxxxxxx> > > --- > 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@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/dm-devel -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel