From 4057f495d572437d137fbe76f40563df8ee8b6fb Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Wed, 30 Sep 2020 17:25:06 -0700 Subject: [PATCH] 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 --- common/f2fs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 common/f2fs 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 +} -- 2.30.2