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 <ebiggers@google.com>
Reviewed-by: Daeho Jeong <daeho43@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Eric Biggers
2020-09-30 17:25:06 -07:00
committed by Eryu Guan
parent 300cd3558f
commit 4057f495d5
+27
View File
@@ -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
}