Re: [PATCH 2/4] src/t_immutable: factor out some helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jan 24, 2021 at 05:29:33PM +0200, Amir Goldstein wrote:
> On Sun, Jan 24, 2021 at 5:09 PM Eryu Guan <guan@xxxxxxx> wrote:
> >
> > On Sat, Jan 16, 2021 at 06:56:17PM +0200, Amir Goldstein wrote:
> > > Reduce boilerplate code.
> > > define _GNU_SOURCE needed for asprintf.
> > >
> > > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> > > ---
> > >  src/t_immutable.c | 221 ++++++++++++++++++++++------------------------
> > >  1 file changed, 104 insertions(+), 117 deletions(-)
> > >
> > > diff --git a/src/t_immutable.c b/src/t_immutable.c
> > > index 86c567ed..b6a76af0 100644
> > > --- a/src/t_immutable.c
> > > +++ b/src/t_immutable.c
> > > @@ -8,6 +8,9 @@
> > >
> > >  #define TEST_UTIME
> > >
> > > +#ifndef _GNU_SOURCE
> > > +#define _GNU_SOURCE
> > > +#endif
> > >  #include <stdio.h>
> > >  #include <stdlib.h>
> > >  #include <string.h>
> > > @@ -1895,13 +1898,66 @@ static int check_test_area(const char *dir)
> > >       return 0;
> > >  }
> > >
> > > +static int create_dir(char **ppath, const char *fmt, const char *dir)
> > > +{
> > > +     const char *path;
> > > +     struct stat st;
> > > +
> > > +     if (asprintf(ppath, fmt, dir) == -1) {
> > > +       return -1;
> > > +     }
> > > +     path = *ppath;
> > > +     if (stat(path, &st) == 0) {
> > > +       fprintf(stderr, "%s: Test area directory %s must not exist for test area creation.\n",
> > > +               __progname, path);
> > > +       return 1;
> >
> > Other places return -1 but 1 is returned here, should be -1 as well?
> >
> 
> It is a semantically different return value.
> 
> -1 are error cases, 1 means already existing, so the caller that requested to
> create the dir could treat this as success.
> I did not end up implementing the 'allow_existing' feature in this way, but I
> see no reason to change the return value, because future implementation
> could make use of this distinction. Unless you insist.

I can live with it :) I'm just curious why the return values are
different, as I didn't see different values in original code.

Thanks,
Eryu



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux