diff mbox

[xfstests-bld,2/2] test-appliance: add 'encrypt' config for f2fs

Message ID 20180419205020.16868-2-ebiggers3@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eric Biggers April 19, 2018, 8:50 p.m. UTC
From: Eric Biggers <ebiggers@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 <ebiggers@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

Comments

Eric Biggers April 30, 2018, 7:13 p.m. UTC | #1
On Thu, Apr 19, 2018 at 01:50:20PM -0700, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@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 <ebiggers@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.
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Theodore Ts'o May 1, 2018, 2:17 a.m. UTC | #2
On Thu, Apr 19, 2018 at 01:50:20PM -0700, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@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 <ebiggers@google.com>

Applied, thanks.

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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"
 }