common/encrypt: Create an encrypted equivalent of _scratch_mkfs_sized
authorAri Sundholm <ari@tuxera.com>
Thu, 21 Dec 2017 22:10:05 +0000 (00:10 +0200)
committerEryu Guan <eguan@redhat.com>
Sun, 31 Dec 2017 12:49:36 +0000 (20:49 +0800)
Test case generic/399 hardcodes "-O encrypt" in MKFS_OPTIONS when
calling _scratch_mkfs_sized, which only works with the mkfs of
certain filesystems. Create a new helper,
_scratch_mkfs_sized_encrypted, for handling the differences between
the mkfs tools of different filesystems. It also allows those
filesystems whose mkfs doesn't accept "-O encrypt" to skip the test
gracefully until proper support is added for them in the helper.

ubifs is not supported in the new helper despite supporting
encryption, as _scratch_mkfs_sized has no ubifs support and adding
that should be done in a separate patch.

Signed-off-by: Ari Sundholm <ari@tuxera.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
common/encrypt
tests/generic/399

index a6fd89d991224136704d105d144d5b43fb4cc4a4..189c59ee9bbdb05d122d7c7ef9ba09c05fb7a059 100644 (file)
@@ -81,6 +81,18 @@ _scratch_mkfs_encrypted()
        esac
 }
 
+_scratch_mkfs_sized_encrypted()
+{
+       case $FSTYP in
+       ext4|f2fs)
+               MKFS_OPTIONS="$MKFS_OPTIONS -O encrypt" _scratch_mkfs_sized $*
+               ;;
+       *)
+               _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_sized_encrypted"
+               ;;
+       esac
+}
+
 # Give the invoking shell a new session keyring.  This makes any keys we add to
 # the session keyring scoped to the lifetime of the test script.
 _new_session_keyring()
index 8f5fcdc6dfba87897fed182bfee1cf3bb9f83960..70896e4341a9729f76d9974f13863d930da47c70 100755 (executable)
@@ -76,8 +76,7 @@ fs_size_in_mb=64
 fs_size=$((fs_size_in_mb * 1024 * 1024))
 dd if=/dev/zero of=$SCRATCH_DEV bs=$((1024 * 1024)) \
        count=$fs_size_in_mb &>> $seqres.full
-MKFS_OPTIONS="$MKFS_OPTIONS -O encrypt" \
-       _scratch_mkfs_sized $fs_size &>> $seqres.full
+_scratch_mkfs_sized_encrypted $fs_size &>> $seqres.full
 _scratch_mount
 
 keydesc=$(_generate_encryption_key)