On Thu, Jan 27, 2022 at 5:29 PM Willy Tarreau <[email protected]> wrote:

> On Fri, Jan 21, 2022 at 09:04:25PM +0000, David Carlier wrote:
> > Second patch of the patchset concerning the update of the addon itself.
>
> > From d541d8dfd8aa0290625b3824bd6b44d2861e997f Mon Sep 17 00:00:00 2001
> > From: David Carlier <[email protected]>
> > Date: Fri, 21 Jan 2022 20:51:20 +0000
> > Subject: [PATCH 2/3] MEDIUM: deviceatlas update of the main module.
>                                ^^^^^^^^^^^
>                                da:
>
> Also please avoid generic messages like "update the main module" because
> an update is not the purpose of a commit, which by definition is an update.
> Prefer more explanattory messages such as:
>
>   "MEDIUM: da: support database runtime updates"
>
> > The DeviceAtlas addon can optionally interacts with the new service
> >  without change of configuration in the HAProxy part.
> > Note that however it requires the DeviceAtlas Identification C API
> > 2.4.0 minimum from this point.
> >
> > Signed-off-by: David Carlier <[email protected]>
>
> (...)
> > +#ifdef USE_THREAD
> > +__decl_spinlock(dadwsch_lock);
> > +#endif
>
> For this one you can do that:
>
>   __decl_thread(HA_SPINLOCK_T dadwsch_lock);
>
> It will only do it when USE_THREAD is set and save you an ifdef.
>
> > @@ -163,6 +177,16 @@ static int init_deviceatlas(void)
> >
> >               global_deviceatlas.useragentid =
> da_atlas_header_evidence_id(&global_deviceatlas.atlas,
> >                       "user-agent");
> > +             if ((global_deviceatlas.atlasfd = shm_open(ATLASMAPNM,
> O_RDWR, 0660)) != -1) {
> > +                     global_deviceatlas.atlasmap = mmap(NULL,
> ATLASTOKSZ, PROT_READ | PROT_WRITE, MAP_SHARED, global_deviceatlas.atlasfd,
> 0);
> > +                     if (global_deviceatlas.atlasmap == MAP_FAILED) {
> > +                             close(global_deviceatlas.atlasfd);
> > +                             global_deviceatlas.atlasfd = -1;
> > +                             global_deviceatlas.atlasmap = NULL;
> > +                     } else {
> > +                             fprintf(stdout, "deviceatlas : scheduling
> support.\n");
>
> This message is still confusing because it's unclear whether it reports
> a detected feature or an anomaly. Think for example about someone facing
> it on a machine exhibiting a problem and not having it on a machine that
> works fine, it would then be understandable that it's taken for an error
> message. Maybe "Deviceatlas: scheduling support enabled." would do it ?
>
> OK for the rest of this patch at first glance, however now I'm getting
> this build error:
>
> addons/deviceatlas/da.c: In function 'da_haproxy_checkinst':
> addons/deviceatlas/da.c:236:8: warning: implicit declaration of function
> 'da_atlas_read_mapped' [-Wimplicit-function-declaration]
> addons/deviceatlas/da.o: In function `da_haproxy_checkinst':
> /g/public/haproxy/addons/deviceatlas/da.c:236: undefined reference to
> `da_atlas_read_mapped'
> collect2: error: ld returned 1 exit status
> distcc[12485] ERROR: compile (null) on localhost failed
> make: *** [Makefile:952: haproxy] Error 1
>
> So it seems to me that the dummy lib missed an update (I guess you tested
> with the real lib only and forgot about that one).
>
> Willy
>

Attachment: 0002-MEDIUM-da-module-to-handle-schedule-mode.patch
Description: Binary data



Reply via email to