| #!/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 | |
| } |