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 >
0002-MEDIUM-da-module-to-handle-schedule-mode.patch
Description: Binary data

