Re: [PATCH 24/24] check: try reloading modules

Amir Goldstein
2020-09-15T08:42:49Z

On Tue, Sep 15, 2020 at 4:47 AM Darrick J. Wong <darrick.wong@oracle.com> wrote:
>
> From: Darrick J. Wong <darrick.wong@oracle.com>
>
> Optionally reload the module between each test to try to pinpoint slab
> cache errors and whatnot.
>
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> ---
> README | 3 +++
> check | 9 +++++++++
> 2 files changed, 12 insertions(+)
>
>
> diff --git a/README b/README
> index d0e23fcd..4af331b4 100644
> --- a/README
> +++ b/README
> @@ -106,6 +106,9 @@ Preparing system for tests:
> - set USE_KMEMLEAK=yes to scan for memory leaks in the kernel
> after every test, if the kernel supports kmemleak.
> - set KEEP_DMESG=yes to keep dmesg log after test
> + - Set TEST_FS_MODULE_RELOAD=1 to unload the module and reload
> + it between test invocations. This assumes that the name of
> + the module is the same as FSTYP.
>
> - or add a case to the switch in common/config assigning
> these variables based on the hostname of your test
> diff --git a/check b/check
> index 5ffa8777..29306262 100755
> --- a/check
> +++ b/check
> @@ -810,6 +810,15 @@ function run_section()
> _check_dmesg || err=true
> fi
>
> + # Reload the module after each test to check for leaks or
> + # other problems.
> + if [ -n "${TEST_FS_MODULE_RELOAD}" ]; then
> + _test_unmount 2> /dev/null
> + _scratch_unmount 2> /dev/null
> + modprobe -r $FSTYP
> + modprobe $FSTYP

It is safer to use fs-$FSTYP namespaced module alias.

Thanks,
Amir.