Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-02 Thread Jeff Darcy
> The regression builds seem to be running again at the moment without
> removing -Werror.  So I'm not sure if this needs adjusting any more?

Yeah, I'm not sure why either.  Maybe a difference in compiler versions?
In any case, if it's working now, I'd say let's not mess with it.  I can
add the extra flags in my own builds easily enough.
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-02 Thread Justin Clift
On 2 Apr 2015, at 12:10, Vijay Bellur  wrote:
> On 04/02/2015 06:27 AM, Jeff Darcy wrote:
>> My recommendations:
>> 
>> (1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
>> changes wherever they need to be applied so that they're
>> effective during normal regression builds
> 
> Thanks, Jeff.
> 
> Justin - would it be possible to do this change as well in build.sh?

The regression builds seem to be running again at the moment without
removing -Werror.  So I'm not sure if this needs adjusting any more?

+ Justin

--
GlusterFS - http://www.gluster.org

An open source, distributed file system scaling to several
petabytes, and handling thousands of clients.

My personal twitter: twitter.com/realjustinclift

___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-02 Thread Justin Clift
On 2 Apr 2015, at 12:10, Vijay Bellur  wrote:
> On 04/02/2015 06:27 AM, Jeff Darcy wrote:
>> My recommendations:
>> 
>> (1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
>> changes wherever they need to be applied so that they're
>> effective during normal regression builds
> 
> Thanks, Jeff.
> 
> Justin - would it be possible to do this change as well in build.sh?

Sure.  What needs changing from here?

  
https://github.com/justinclift/glusterfs_patch_acceptance_tests/blob/master/build.sh

+ Justin

--
GlusterFS - http://www.gluster.org

An open source, distributed file system scaling to several
petabytes, and handling thousands of clients.

My personal twitter: twitter.com/realjustinclift

___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-02 Thread Justin Clift
On 2 Apr 2015, at 01:57, Jeff Darcy  wrote:

>(1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
>changes wherever they need to be applied so that they're
>effective during normal regression builds

The git repo which holds our CentOS build and regression testing
scripts, is here:

  
https://review.gerrithub.io/#/admin/projects/justinclift/glusterfs_patch_acceptance_tests
  https://github.com/justinclift/glusterfs_patch_acceptance_tests

It's being used as a test bunny to try out GerritHub.  (May end in
rabbit soup.  I do not like rabbit soup. :/)

The build bit in it is (bash script):

  P=/build;
  ./configure --prefix=$P/install --with-mountutildir=$P/install/sbin 
--with-initdir=$P/install/etc --localstatedir=/var --enable-bd-xlator=yes 
--enable-debug --silent
  make install CFLAGS="-g -O0 -Wall -Werror" -j 4

With the -Werror added last night.

Should we adjust it?

Regards and best wishes,

Justin Clift

--
GlusterFS - http://www.gluster.org

An open source, distributed file system scaling to several
petabytes, and handling thousands of clients.

My personal twitter: twitter.com/realjustinclift

___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-02 Thread Vijay Bellur

On 04/02/2015 06:27 AM, Jeff Darcy wrote:

My recommendations:

 (1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
 changes wherever they need to be applied so that they're
 effective during normal regression builds


Thanks, Jeff.

Justin - would it be possible to do this change as well in build.sh?

Regards,
Vijay
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-02 Thread Justin Clift
On 2 Apr 2015, at 01:57, Jeff Darcy  wrote:

> As many of you have undoubtedly noticed, we're now in a situation where
> *all* regression builds are now failing, with something like this:
> 
> -
> cc1: warnings being treated as errors
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:
> In function ‘glusterd_snap_quorum_check_for_create’:
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:2615:
> error: passing argument 2 of ‘does_gd_meet_server_quorum’ from
> incompatible pointer type
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-server-quorum.h:56:
> note: expected ‘struct list_head *’ but argument is of type ‘struct
> cds_list_head *’
> -
> 
> The reason is that -Werror was turned on earlier today.  I'm not quite
> sure how or where, because the version of build.sh that I thought builds
> would use doesn't seem to have changed since September 8, but then
> there's a lot about this system I don't understand.  Vijay (who I
> believe made the change) knows it better than I ever will.

A.  This was me.  Noticed the lack of -Werror lack night, and
immediately "fixed" it.  Then hit the sack shortly after.

Umm Sorry? :/

+ Justin

--
GlusterFS - http://www.gluster.org

An open source, distributed file system scaling to several
petabytes, and handling thousands of clients.

My personal twitter: twitter.com/realjustinclift

___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-01 Thread Kaushal M
I've update Vijay's patch with the necessary changes. The smoke and
related jobs have passed [1], regression is running currently [2] and
netbsd-regression is yet to start.

[1]: http://build.gluster.org/job/smoke/14963/
[2]: http://build.gluster.org/job/rackspace-regression-2GB-triggered/6292

On Thu, Apr 2, 2015 at 10:14 AM, Kaushal M  wrote:
> I should have caught this during the review. I've been on the lookout
> for this kind of breakage in all GlusterD changes, but this slipped
> through somehow. Apologies.
>
> I don't think we need to revert KP's change. I'll test Vijay's fix and
> do any further changes required to stop the failures, ASAP.
>
> ~kaushal
>
> On Thu, Apr 2, 2015 at 9:26 AM, Jeff Darcy  wrote:
>>> Apologies for breaking the build. I am out of office. Please revert
>>> review #9492.
>>
>> I'm not sure that it was so much one patch breaking the build as
>> some sort of "in-flight collision" merge weirdness.  In any case,
>> don't worry about it.  Stuff happens.  The important thing is to
>> get the build/regression pipeline going again, however we can.
>> ___
>> Gluster-devel mailing list
>> Gluster-devel@gluster.org
>> http://www.gluster.org/mailman/listinfo/gluster-devel
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-01 Thread Kaushal M
I should have caught this during the review. I've been on the lookout
for this kind of breakage in all GlusterD changes, but this slipped
through somehow. Apologies.

I don't think we need to revert KP's change. I'll test Vijay's fix and
do any further changes required to stop the failures, ASAP.

~kaushal

On Thu, Apr 2, 2015 at 9:26 AM, Jeff Darcy  wrote:
>> Apologies for breaking the build. I am out of office. Please revert
>> review #9492.
>
> I'm not sure that it was so much one patch breaking the build as
> some sort of "in-flight collision" merge weirdness.  In any case,
> don't worry about it.  Stuff happens.  The important thing is to
> get the build/regression pipeline going again, however we can.
> ___
> Gluster-devel mailing list
> Gluster-devel@gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-01 Thread Jeff Darcy
> Apologies for breaking the build. I am out of office. Please revert
> review #9492.

I'm not sure that it was so much one patch breaking the build as
some sort of "in-flight collision" merge weirdness.  In any case,
don't worry about it.  Stuff happens.  The important thing is to
get the build/regression pipeline going again, however we can.
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


Re: [Gluster-devel] Adventures in building GlusterFS

2015-04-01 Thread Krishnan Parthasarathi
Apologies for breaking the build. I am out of office. Please revert
review #9492.

- Original Message -
> As many of you have undoubtedly noticed, we're now in a situation where
> *all* regression builds are now failing, with something like this:
> 
> -
> cc1: warnings being treated as errors
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:
> In function ‘glusterd_snap_quorum_check_for_create’:
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:2615:
> error: passing argument 2 of ‘does_gd_meet_server_quorum’ from
> incompatible pointer type
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-server-quorum.h:56:
> note: expected ‘struct list_head *’ but argument is of type ‘struct
> cds_list_head *’
> -
> 
> The reason is that -Werror was turned on earlier today.  I'm not quite
> sure how or where, because the version of build.sh that I thought builds
> would use doesn't seem to have changed since September 8, but then
> there's a lot about this system I don't understand.  Vijay (who I
> believe made the change) knows it better than I ever will.  In any case,
> this started me on a little journey of exploration.
> 
> I actually do builds a bit differently than Jenkins does, and as far as
> I know differently than any other developer.  I do a complete RPM build
> for every change, precisely to catch problems in that pipeline, but that
> means some of the things I do might not be applicable or even safe when
> "make install" is issued directly instead.
> 
> The first thing I had to do was add a couple of exceptions to -Werror
> because of warnings that have been with us for ages.  Specifically:
> 
> -Wno-error=cpp because multiple things generate warnings about
> _BSD_SOURCE and _SVID_SOURCE being deprecated
> 
> -Wno-error=maybe-uninitialized because some of the qemu code is
> bad that way
> 
> That got me to the point where I could see - and hopefully debug -
> today's issue.  As far as I can tell, the types changed with this patch:
> 
> http://review.gluster.org/#/c/9492/
> glusterd: group server-quorum related code together
> 
> There's also a patch to fix the type mismatch that leads to the build
> error:
> 
> http://review.gluster.org/#/c/10105/
> mgmt/glusterd: set right definition of does_gd_meet_server_quorum()
> 
> Unfortunately, applying the later patch to my tree didn't solve the
> problem.  I got similar errors in another related set of functions,
> indicating that the type mismatch had just been pushed to a different
> level.  However, by *reverting* the first patch, along with the flag
> changes mentioned above, I was able to get a successful build.
> 
> My recommendations:
> 
> (1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
> changes wherever they need to be applied so that they're
> effective during normal regression builds
> 
> (2) Revert patch 9492
> 
> (3) Once regressions are running again, figure out how to make
> the necessary code changes so that (1) and (2) are no longer
> necessary
> 
> I'm unable to do either of these things myself.  Would anyone else like
> to do so, or suggest an alternative remedy?
> ___
> Gluster-devel mailing list
> Gluster-devel@gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
> 
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel


[Gluster-devel] Adventures in building GlusterFS

2015-04-01 Thread Jeff Darcy
As many of you have undoubtedly noticed, we're now in a situation where
*all* regression builds are now failing, with something like this:

-
cc1: warnings being treated as errors
/home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:
In function ‘glusterd_snap_quorum_check_for_create’:
/home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:2615:
error: passing argument 2 of ‘does_gd_meet_server_quorum’ from
incompatible pointer type
/home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-server-quorum.h:56:
note: expected ‘struct list_head *’ but argument is of type ‘struct
cds_list_head *’
-

The reason is that -Werror was turned on earlier today.  I'm not quite
sure how or where, because the version of build.sh that I thought builds
would use doesn't seem to have changed since September 8, but then
there's a lot about this system I don't understand.  Vijay (who I
believe made the change) knows it better than I ever will.  In any case,
this started me on a little journey of exploration.

I actually do builds a bit differently than Jenkins does, and as far as
I know differently than any other developer.  I do a complete RPM build
for every change, precisely to catch problems in that pipeline, but that
means some of the things I do might not be applicable or even safe when
"make install" is issued directly instead.

The first thing I had to do was add a couple of exceptions to -Werror
because of warnings that have been with us for ages.  Specifically:

-Wno-error=cpp because multiple things generate warnings about
_BSD_SOURCE and _SVID_SOURCE being deprecated

-Wno-error=maybe-uninitialized because some of the qemu code is
bad that way

That got me to the point where I could see - and hopefully debug -
today's issue.  As far as I can tell, the types changed with this patch:

http://review.gluster.org/#/c/9492/
glusterd: group server-quorum related code together

There's also a patch to fix the type mismatch that leads to the build
error:

http://review.gluster.org/#/c/10105/
mgmt/glusterd: set right definition of does_gd_meet_server_quorum()

Unfortunately, applying the later patch to my tree didn't solve the
problem.  I got similar errors in another related set of functions,
indicating that the type mismatch had just been pushed to a different
level.  However, by *reverting* the first patch, along with the flag
changes mentioned above, I was able to get a successful build.

My recommendations:

(1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
changes wherever they need to be applied so that they're
effective during normal regression builds

(2) Revert patch 9492

(3) Once regressions are running again, figure out how to make
the necessary code changes so that (1) and (2) are no longer
necessary

I'm unable to do either of these things myself.  Would anyone else like
to do so, or suggest an alternative remedy?
___
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel