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@xxxxxxxxxxx > http://www.gluster.org/mailman/listinfo/gluster-devel > _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://www.gluster.org/mailman/listinfo/gluster-devel