On Thu, Apr 19, 2018 at 01:50:20PM -0700, Eric Biggers wrote:
> From: Eric Biggers <ebigg...@google.com>
> 
> Allow testing f2fs using the test_dummy_encryption mount option,
> available with f2fs in kernel 4.17 and later.  E.g.,
> 
>     gce-xfstests -c f2fs/encrypt -g auto
> 
> This is the f2fs equivalent of ext4/encrypt.
> 
> Signed-off-by: Eric Biggers <ebigg...@google.com>
> ---
>  .../test-appliance/files/root/fs/f2fs/cfg/all.list   |  1 +
>  .../test-appliance/files/root/fs/f2fs/cfg/encrypt    |  5 +++++
>  .../test-appliance/files/root/fs/f2fs/config         | 12 ++++++++++++
>  3 files changed, 18 insertions(+)
>  create mode 100644 kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/encrypt
> 
> 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
> index 4ad96d5..bc796ff 100644
> --- a/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/all.list
> +++ b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/all.list
> @@ -1 +1,2 @@
>  default
> +encrypt
> diff --git a/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/encrypt 
> b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/encrypt
> new file mode 100644
> index 0000000..0e4e8ab
> --- /dev/null
> +++ b/kvm-xfstests/test-appliance/files/root/fs/f2fs/cfg/encrypt
> @@ -0,0 +1,5 @@
> +SIZE=small
> +export MKFS_OPTIONS="-O encrypt"
> +export F2FS_MOUNT_OPTIONS="test_dummy_encryption"
> +REQUIRE_FEATURE=encryption
> +TESTNAME="F2FS encryption"
> diff --git a/kvm-xfstests/test-appliance/files/root/fs/f2fs/config 
> b/kvm-xfstests/test-appliance/files/root/fs/f2fs/config
> index 94c402b..3857d5d 100644
> --- a/kvm-xfstests/test-appliance/files/root/fs/f2fs/config
> +++ b/kvm-xfstests/test-appliance/files/root/fs/f2fs/config
> @@ -33,6 +33,18 @@ function setup_mount_opts()
>      if test -n "$MNTOPTS" ; then
>       F2FS_MOUNT_OPTIONS+="${F2FS_MOUNT_OPTIONS:+,}$MNTOPTS"
>      fi
> +    if echo ",$F2FS_MOUNT_OPTIONS," | grep -q ',test_dummy_encryption,'; then
> +     local mode='\x00\x00\x00\x00'
> +     local raw="$(printf ""\\\\x%02x"" $(seq 0 63))"
> +     if lscpu | grep "Byte Order" | grep -q Little ; then
> +         local size='\x40\x00\x00\x00'
> +     else
> +         local size='\x00\x00\x00\x40'
> +     fi
> +     local key="${mode}${raw}${size}"
> +     keyctl new_session >& /dev/null
> +     echo -n -e "${key}" | keyctl padd logon fscrypt:4242424242424242 @s >& 
> /dev/null
> +    fi
>      export F2FS_MOUNT_OPTIONS="${F2FS_MOUNT_OPTIONS:+-o }$F2FS_MOUNT_OPTIONS"
>  }
>  
> -- 
> 2.17.0.484.g0c8726318c-goog
> 

Ping.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to