diff mbox series

[1/4] btrfs: add a _require_btrfs_send_v2 helper

Message ID 28f1249372f13e5f73ba7f7c7478e80c6fc66474.1669636339.git.fdmanana@suse.com (mailing list archive)
State New, archived
Headers show
Series fstests/btrfs: add a test case for send v2 and an update | expand

Commit Message

Filipe Manana Nov. 28, 2022, 12:07 p.m. UTC
From: Filipe Manana <fdmanana@suse.com>

Add a helper to check that both btrfs-progs and kernel support the v2 send
stream, so that we can have tests specific for send v2 stream.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
---
 common/btrfs | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
diff mbox series

Patch

diff --git a/common/btrfs b/common/btrfs
index d27d3384..ee673a93 100644
--- a/common/btrfs
+++ b/common/btrfs
@@ -585,3 +585,17 @@  _require_btrfs_corrupt_block()
 {
 	_require_command "$BTRFS_CORRUPT_BLOCK_PROG" btrfs-corrupt-block
 }
+
+_require_btrfs_send_v2()
+{
+	# Check first if btrfs-progs supports the v2 stream.
+	_require_btrfs_command send --compressed-data
+
+	# Now check the kernel support. If send_stream_version does not exists,
+	# then it's a kernel that only supports v1.
+	[ -f /sys/fs/btrfs/features/send_stream_version ] || \
+		_notrun "kernel does not support send stream v2"
+
+	[ $(cat /sys/fs/btrfs/features/send_stream_version) -gt 1 ] || \
+		_notrun "kernel does not support send stream v2"
+}