Re: [RFC] common: overlay support tmpfs

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



On Sun, Apr 24, 2022 at 2:21 PM Baokun Li <libaokun1@xxxxxxxxxx> wrote:
>
> xfstests support overlay+tmpfs

Thanks for this improvement.
Can you please share the results of ./check -overlay -g auto ?

How many tests ran? notran? failed?

Best if you have those numbers compared to
overlay+(already supported base fs)


>
> ```local.config.example
> export FSTYP=tmpfs
> export TEST_DEV=tmpfs_test
> export TEST_DIR=/tmp/test
> export TEST_FS_MOUNT_OPTS="-t tmpfs"
> export SCRATCH_DEV=tmpfs_scratch
> export SCRATCH_MNT=/tmp/scratch
> export MOUNT_OPTIONS="-t tmpfs"

These mount options for tmpfs are very awkward.
Please fix _overlay_base_mount to use -t $OVL_BASE_FSTYP
like _test_mount() and _try_scratch_mount() do


> ```
> Run `./check -overlay tests` to execute test case on overlay+tmpfs.
>
> Signed-off-by: Baokun Li <libaokun1@xxxxxxxxxx>
> ---
>  common/config | 4 ++--
>  common/rc     | 7 ++++++-
>  2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/common/config b/common/config
> index 1033b890..3dc047e8 100644
> --- a/common/config
> +++ b/common/config
> @@ -614,7 +614,7 @@ _overlay_config_override()
>         #    the new OVL_BASE_SCRATCH/TEST_DEV/MNT vars are set to the values
>         #    of the configured base fs and SCRATCH/TEST_DEV vars are set to the
>         #    overlayfs base and mount dirs inside base fs mount.
> -       [ -b "$TEST_DEV" ] || [ -c "$TEST_DEV" ] || return 0
> +       [ -b "$TEST_DEV" ] || [ -c "$TEST_DEV" ] || [ "$FSTYP" == tmpfs ] || return 0
>
>         # Config file may specify base fs type, but we obay -overlay flag
>         [ "$FSTYP" == overlay ] || export OVL_BASE_FSTYP="$FSTYP"

Please move the setting of OVL_BASE_FSTYP to the top of the function and use
[ "$OVL_BASE_FSTYP" == tmpfs ] consistently.

> @@ -634,7 +634,7 @@ _overlay_config_override()
>         export TEST_DIR="$OVL_BASE_TEST_DIR/$OVL_MNT"
>         export MOUNT_OPTIONS="$OVERLAY_MOUNT_OPTIONS"
>
> -       [ -b "$SCRATCH_DEV" ] || [ -c "$SCRATCH_DEV" ] || return 0
> +       [ -b "$SCRATCH_DEV" ] || [ -c "$SCRATCH_DEV" ] || [ "$OVL_BASE_FSTYP" == tmpfs ] || return 0
>
>         # Store original base fs vars
>         export OVL_BASE_SCRATCH_DEV="$SCRATCH_DEV"
> diff --git a/common/rc b/common/rc
> index 553ae350..12498189 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -834,13 +834,18 @@ _scratch_mkfs()
>         local mkfs_status
>
>         case $FSTYP in
> -       nfs*|cifs|ceph|overlay|glusterfs|pvfs2|9p|virtiofs)
> +       nfs*|cifs|ceph|glusterfs|pvfs2|9p|virtiofs)
>                 # unable to re-create this fstyp, just remove all files in
>                 # $SCRATCH_MNT to avoid EEXIST caused by the leftover files
>                 # created in previous runs
>                 _scratch_cleanup_files
>                 return $?
>                 ;;
> +       overlay)
> +               [ ! "$OVL_BASE_FSTYP" == tmpfs ] || return 0
> +               _scratch_cleanup_files
> +               return $?
> +               ;;

Why? What's the problem with cleaning the ovl-* layers on tmpfs?


Thanks,
Amir.



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

  Powered by Linux