Re: [PATCH] xfstests-bld: add f2fs support

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



Hi Eric,

On Thu, Nov 17, 2016 at 11:52:33AM -0800, Eric Biggers wrote:
> Add basic f2fs support to xfstests-bld.  I am using this to verify that
> the encryption tests I am adding to xfstests pass on both ext4 and f2fs.
> It may be useful to f2fs developers too.  For now, only one
> configuration, "f2fs/default", is offered.
> 
> For the f2fs tests to work, it's required to build a kernel with f2fs
> support and build a rootfs with f2fs-tools installed.  For testing
> encryption, f2fs-tools must be v1.5.0 or later.
> 
> It was necessary to remove the /etc/fstab lines for /dev/vd[b-f] because
> they interfered with non-ext4 fsck.  They are not needed for the tests.
> 
> Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx>
> ---
>  kvm-xfstests/test-appliance/files/etc/fstab        |  5 --
>  .../test-appliance/files/root/fs/f2fs/cfg/all.list |  1 +
>  .../test-appliance/files/root/fs/f2fs/cfg/default  |  4 ++
>  .../test-appliance/files/root/fs/f2fs/config       | 62 ++++++++++++++++++++++
>  kvm-xfstests/util/parse_cli                        |  2 +-
>  5 files changed, 68 insertions(+), 6 deletions(-)
>  create mode 100644 kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/all.list
>  create mode 100644 kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/default
>  create mode 100644 kvm-xfstests/test-appliance/files/root/fs/f2fs/config
> 
> diff --git a/kvm-xfstests/test-appliance/files/etc/fstab b/kvm-xfstests/test-appliance/files/etc/fstab
> index 864478b..27fb1df 100644
> --- a/kvm-xfstests/test-appliance/files/etc/fstab
> +++ b/kvm-xfstests/test-appliance/files/etc/fstab
> @@ -5,9 +5,4 @@ proc            /proc           proc    defaults        0       0
>  tmpfs		/tmp		tmpfs	mode=1777	0	0
>  debugfs		/sys/kernel/debug debugfs defaults	0	0
>  /dev/rootfs	/	ext4    noatime 0 1
> -/dev/vdb	/vdb	ext4	defaults,noauto	0	0
> -/dev/vdc	/vdc ext4	defaults,noauto	0	0
> -/dev/vdd	/vdd ext4	defaults,noauto	0	0
> -/dev/vde	/vde ext4	defaults,noauto 0	0
> -/dev/vdf	/vdf ext4	defaults,noauto 0	0
>  /dev/vdg	/results ext4	defaults 0 2
> diff --git a/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/all.list b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/all.list
> new file mode 100644
> index 0000000..4ad96d5
> --- /dev/null
> +++ b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/all.list
> @@ -0,0 +1 @@
> +default
> diff --git a/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/default b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/default
> new file mode 100644
> index 0000000..616a070
> --- /dev/null
> +++ b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/default
> @@ -0,0 +1,4 @@
> +SIZE=small
> +export MKFS_OPTIONS=""
> +export F2FS_MOUNT_OPTIONS=""
> +TESTNAME="f2fs"
> diff --git a/kvm-xfstests/test-appliance/files/root/fs/f2fs/config b/kvm-xfstests/test-appliance/files/root/fs/f2fs/config
> new file mode 100644
> index 0000000..3cab963
> --- /dev/null
> +++ b/kvm-xfstests/test-appliance/files/root/fs/f2fs/config
> @@ -0,0 +1,62 @@
> +#
> +# Configuration file for f2fs
> +#
> +
> +DEFAULT_MKFS_OPTIONS=""
> +
> +function check_filesystem()
> +{
> +    local dev="$1"
> +    local ret
> +
> +    /sbin/fsck.f2fs -f "$dev"

Could you change to call fsck.f2fs instead of /sbin/xx?
I'm almost finished to import f2fs-tools in xfstests-bld for kvm-xfstests.
Given f2fs-tools from git, it seems /sbin/xx doesn't work.

> +    ret="$?"
> +    echo fsck.f2fs exited with status "$ret"
> +    return "$ret"
> +}
> +
> +function format_filesystem()
> +{
> +    local dev="$1"
> +    local opts="$2"
> +
> +    /sbin/mkfs.f2fs -q $opts "$dev"

Ditto, mkfs.f2fs.

Thanks,

> +    return $?
> +}
> +
> +function setup_mount_opts()
> +{
> +    if test -n "$MNTOPTS" ; then
> +	if test -n "$F2FS_MOUNT_OPTIONS" ; then
> +	    F2FS_MOUNT_OPTIONS="$F2FS_MOUNT_OPTIONS,$MNTOPTS"
> +	else
> +	    F2FS_MOUNT_OPTIONS="-o $MNTOPTS"
> +	fi
> +    fi
> +}
> +
> +function get_mkfs_opts()
> +{
> +    echo "$MKFS_OPTIONS"
> +}
> +
> +function show_mkfs_opts()
> +{
> +    echo MKFS_OPTIONS: "$MKFS_OPTIONS"
> +}
> +
> +function show_mount_opts()
> +{
> +    echo F2FS_MOUNT_OPTIONS: "$F2FS_MOUNT_OPTIONS"
> +}
> +
> +function test_name_alias()
> +{
> +    echo "$1"
> +}
> +
> +function reset_vars()
> +{
> +    unset F2FS_MOUNT_OPTIONS
> +    unset MKFS_OPTIONS
> +}
> diff --git a/kvm-xfstests/util/parse_cli b/kvm-xfstests/util/parse_cli
> index ea747be..b42c8ba 100644
> --- a/kvm-xfstests/util/parse_cli
> +++ b/kvm-xfstests/util/parse_cli
> @@ -59,7 +59,7 @@ print_help ()
>  validate_test_name()
>  {
>      case "$1" in
> -	btrfs*|cifs*|ext4*|generic*|shared*|udf*|xfs*|overlay*) ;;
> +	btrfs*|cifs*|ext4*|f2fs*|generic*|shared*|udf*|xfs*|overlay*) ;;
>  	*)
>  	    echo -e "Invalid test name: $1\n"
>  	    print_help
> -- 
> 2.8.0.rc3.226.g39d4020
> 
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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