[LTP] [PATCH v2] safe_mount: safe_umount: print debug info about the operation

Martin Doucha mdoucha@suse.cz
Thu Jun 8 17:49:38 CEST 2023


Hi,

On 07. 06. 23 14:36, Murphy Zhou wrote:
> Make the source and the target to mount/umount visible. It's
> good for debugging.
> 
> Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com>
> ---
>   lib/safe_macros.c | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
> 
> diff --git a/lib/safe_macros.c b/lib/safe_macros.c
> index af6dd0716..6add92f06 100644
> --- a/lib/safe_macros.c
> +++ b/lib/safe_macros.c
> @@ -898,7 +898,15 @@ int safe_mount(const char *file, const int lineno, void (*cleanup_fn)(void),
>   	       const void *data)
>   {
>   	int rval = -1;
> +	char mpath[PATH_MAX];
>   
> +	if (!realpath(target, mpath))
> +		tst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,
> +			"realpath(%s, s) failed", target);
> +
> +	tst_resm_(file, lineno, TINFO,
> +		"Mounting %s to %s fstyp=%s flags=%lx",
> +		source, mpath, filesystemtype, mountflags);

This is much better, but realpath() failure is not a fatal error here, 
just a minor inconvenience. So it'd be better to do this:

if (realpath(...)) {
	tst_resm_(... TINFO, "Mounting %s to %s...", ...);
} else {
	tst_resm_(... TINFO | TERRNO, "Cannot resolve absolute path to %s", ...);
}

>   	/*
>   	 * Don't try using the kernel's NTFS driver when mounting NTFS, since
>   	 * the kernel's NTFS driver doesn't have proper write support.
> @@ -948,6 +956,13 @@ int safe_umount(const char *file, const int lineno, void (*cleanup_fn)(void),
>   		const char *target)
>   {
>   	int rval;
> +	char mpath[PATH_MAX];
> +
> +	if (!realpath(target, mpath))
> +		tst_brkm_(file, lineno, TBROK | TERRNO, cleanup_fn,
> +			"realpath(%s, s) failed", target);
> +
> +	tst_resm_(file, lineno, TINFO, "Umounting %s", mpath);

Same here.

>   
>   	rval = tst_umount(target);
>   

-- 
Martin Doucha   mdoucha@suse.cz
SW Quality Engineer
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic



More information about the ltp mailing list