On Sat, 23 May 2020 at 16:12, Emilio G. Cota <c...@braap.org> wrote: > > On Fri, May 22, 2020 at 12:07:50 -0400, Robert Foley wrote: <snip> > > > QSIMPLEQ_INSERT_TAIL(&ctx->bh_slice_list, &slice, next); > > > > while ((s = QSIMPLEQ_FIRST(&ctx->bh_slice_list))) { > > @@ -280,14 +285,16 @@ aio_ctx_check(GSource *source) > > aio_notify_accept(ctx); > > > > QSLIST_FOREACH_RCU(bh, &ctx->bh_list, next) { > > - if ((bh->flags & (BH_SCHEDULED | BH_DELETED)) == BH_SCHEDULED) { > > + if ((atomic_read(&bh->flags) & (BH_SCHEDULED | BH_DELETED)) > > + == BH_SCHEDULED) { > > return true; > > } > > } > > > > QSIMPLEQ_FOREACH(s, &ctx->bh_slice_list, next) { > > QSLIST_FOREACH_RCU(bh, &s->bh_list, next) { > > - if ((bh->flags & (BH_SCHEDULED | BH_DELETED)) == BH_SCHEDULED) > > { > > + if ((atomic_read(&bh->flags) & (BH_SCHEDULED | BH_DELETED)) > > + == BH_SCHEDULED) { > > This hunk like the real fix. Also, I'd put "fix race" in the commit > title as opposed to "fix warning" since fixing races is the goal, not > fixing warnings.
Good point, will update the commit. Thanks & Regards, -Rob > > Thanks, > > Emilio