[LTP] [PATCH] fs_fill: switch the SAFE MACROs back to ordinary syscall

Jan Stancek jstancek@redhat.com
Wed Nov 22 13:51:29 CET 2017



----- Original Message -----
> 
> ----- Original Message -----
> > Hi!
> > > > But I can always change that in a follow up patch...
> > > 
> > > How about this following change:
> > > 
> > > --- a/testcases/kernel/fs/fs_fill/fs_fill.c
> > > +++ b/testcases/kernel/fs/fs_fill/fs_fill.c
> > > @@ -41,21 +41,11 @@ struct worker {
> > > 
> > >  static void *worker(void *p)
> > >  {
> > > -       int ret;
> > >         struct worker *w = p;
> > >         DIR *d;
> > >         struct dirent *ent;
> > >         char file[PATH_MAX];
> > > 
> > > -       ret = mkdir(w->dir, 0700);
> > > -       if (ret == -1) {
> > > -               if (errno != ENOSPC)
> > > -                       tst_brk(TBROK | TERRNO, "mkdir()");
> > > -
> > > -               tst_res(TINFO | TERRNO, "mkdir()");
> > > -               return NULL;
> > > -       }
> > > -
> > >         while (run) {
> > >                 tst_fill_fs(w->dir, 0);
> > > 
> > > @@ -92,6 +82,10 @@ static void testrun(void)
> > >         for (i = 0; i < nthreads; i++) {
> > >                 snprintf(workers[i].dir, sizeof(workers[i].dir),
> > >                          MNTPOINT "/thread%i", i + 1);
> > > +               SAFE_MKDIR(workers[i].dir, 0700);
> > > +       }
> > > +
> > > +       for (i = 0; i < nthreads; i++) {
> > >                 SAFE_PTHREAD_CREATE(&threads[i], NULL, worker,
> > >                 &workers[i]);
> > >         }
> > 
> > This one looks cleaner to me.
> 
> But perhaps this should go to setup(), otherwise with "-i 2"
> it hits TBROK on mkdir.
> 
> I tried adding RMDIR after join, but unlink doesn't seem to remove
> everything:
> safe_macros.c:184: BROK: fs_fill.c:108: rmdir(mntpoint/thread4) failed:
> ENOTEMPTY

I see, there's "break" in loop that does unlink. Which is likely by design,
so we hit ENOSPC sooner.

> 
> Regards,
> Jan
> 
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
> 


More information about the ltp mailing list