[LTP] [PATCH] SAFE_MOUNT: print debug info about mounting operation

Li Wang liwang@redhat.com
Mon Jun 5 11:56:56 CEST 2023


On Mon, Jun 5, 2023 at 4:40 PM Martin Doucha <mdoucha@suse.cz> wrote:

> Hi,
>
> On 04. 06. 23 11:51, Murphy Zhou wrote:
> > Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com>
> > ---
> >   lib/safe_macros.c | 17 +++++++++++++++++
> >   1 file changed, 17 insertions(+)
> >
> > diff --git a/lib/safe_macros.c b/lib/safe_macros.c
> > index af6dd0716..a66285a0e 100644
> > --- a/lib/safe_macros.c
> > +++ b/lib/safe_macros.c
> > @@ -898,7 +898,24 @@ int safe_mount(const char *file, const int lineno,
> void (*cleanup_fn)(void),
> >              const void *data)
> >   {
> >       int rval = -1;
> > +     char cdir[PATH_MAX], mpath[PATH_MAX];
> >
> > +     if (!getcwd(cdir, PATH_MAX)) {
> > +             tst_resm(TWARN | TERRNO, "Failed to find current
> directory");
> > +             return 0;
>
> You return success when nothing was mounted. That is clearly wrong.
> Either call tst_brkm_(... TBROK ...) if the failure is so serious that
> the test cannot continue, or don't return at all.
>
> > +     }
> > +
> > +     rval = snprintf(mpath, PATH_MAX, "%s/%s", cdir, target);
>
> The C library has a function for resolving paths: realpath(). Please use
> that.
>


+1, good point. realpath() is more convenient, we don't
need to additionally copy string to the absolute path.

@Murphy, ignore my previous comments plz.



>
> > +     if (rval < 0 || rval >= PATH_MAX) {
> > +             tst_resm(TWARN | TERRNO,
> > +                      "snprintf() should have returned %d instead of
> %d",
> > +                      PATH_MAX, rval);
> > +             return 0;
>
> Returning here is also wrong.
>
> > +     }
> > +
> > +     tst_resm_(file, lineno, TINFO,
> > +             "Mounting %s to %s fstyp=%s flags=%x",
> > +             source, mpath, filesystemtype, mountflags);
> >       /*
> >        * Don't try using the kernel's NTFS driver when mounting NTFS,
> since
> >        * the kernel's NTFS driver doesn't have proper write support.
>
> --
> Martin Doucha   mdoucha@suse.cz
> SW Quality Engineer
> SUSE LINUX, s.r.o.
> CORSO IIa
> Krizikova 148/34
> 186 00 Prague 8
> Czech Republic
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
>
>

-- 
Regards,
Li Wang


More information about the ltp mailing list