From: Eric Biggers Date: Thu, 1 Oct 2020 00:25:06 +0000 (-0700) Subject: common/f2fs: add _require_scratch_f2fs_compression() X-Git-Tag: v2022.05.01~649 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=4057f495d572437d137fbe76f40563df8ee8b6fb;ds=sidebyside common/f2fs: add _require_scratch_f2fs_compression() Create the file common/f2fs, which will contain f2fs-specific utilities. Then add a function _require_scratch_f2fs_compression(), which checks for f2fs compression support on the scratch filesystem. Signed-off-by: Eric Biggers Reviewed-by: Daeho Jeong Signed-off-by: Eryu Guan --- diff --git a/common/f2fs b/common/f2fs new file mode 100644 index 00000000..1b39d8ce --- /dev/null +++ b/common/f2fs @@ -0,0 +1,27 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-only +# Copyright 2020 Google LLC + +# Require f2fs compression support on the scratch filesystem. +# Optionally, check for support for a specific compression algorithm. +_require_scratch_f2fs_compression() +{ + local algorithm=$1 + + _require_scratch + + if [ ! -e /sys/fs/f2fs/features/compression ]; then + _notrun "Kernel doesn't support f2fs compression" + fi + # Note: '-O compression' is only accepted when used in + # combination with extra_attr. + if ! _scratch_mkfs -O compression,extra_attr >> $seqres.full; then + _notrun "f2fs-tools doesn't support compression" + fi + if [ -n "$algorithm" ]; then + if ! _scratch_mount "-o compress_algorithm=$algorithm"; then + _notrun "Kernel doesn't support $algorithm compression algorithm for f2fs" + fi + _scratch_unmount + fi +}