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