On 9/25/19 4:33 PM, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Convert all the workqueue functions to return positive error codes so > that we can move away from the libc-style indirect errno handling and > towards passing error codes directly back to callers. This all looks fine, but it doesn't really do what the commit log says, right? The one spot where error return is changed, it was already positive; the rest is swapping str_liberror for str_info which is just cosmetic, right? -Eric > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > libfrog/workqueue.c | 4 ++-- > scrub/fscounters.c | 5 ++--- > scrub/inodes.c | 5 ++--- > scrub/phase2.c | 8 +++----- > scrub/phase4.c | 6 +++--- > scrub/read_verify.c | 3 +-- > scrub/spacemap.c | 11 ++++------- > scrub/vfs.c | 3 +-- > 8 files changed, 18 insertions(+), 27 deletions(-) > > > diff --git a/libfrog/workqueue.c b/libfrog/workqueue.c > index 73114773..a806da3e 100644 > --- a/libfrog/workqueue.c > +++ b/libfrog/workqueue.c > @@ -106,8 +106,8 @@ workqueue_add( > } > > wi = malloc(sizeof(struct workqueue_item)); > - if (wi == NULL) > - return ENOMEM; > + if (!wi) > + return errno; > > wi->function = func; > wi->index = index; > diff --git a/scrub/fscounters.c b/scrub/fscounters.c > index ad467e0c..669c5ab0 100644 > --- a/scrub/fscounters.c > +++ b/scrub/fscounters.c > @@ -115,15 +115,14 @@ xfs_count_all_inodes( > scrub_nproc_workqueue(ctx)); > if (ret) { > moveon = false; > - str_info(ctx, ctx->mntpoint, _("Could not create workqueue.")); > + str_liberror(ctx, ret, _("creating icount workqueue")); > goto out_free; > } > for (agno = 0; agno < ctx->mnt.fsgeom.agcount; agno++) { > ret = workqueue_add(&wq, xfs_count_ag_inodes, agno, ci); > if (ret) { > moveon = false; > - str_info(ctx, ctx->mntpoint, > -_("Could not queue AG %u icount work."), agno); > + str_liberror(ctx, ret, _("queueing icount work")); > break; > } > } ...