tools/testing/selftests/ftrace/test.d/00basic/mount_options.tc

Source file repositories/reference/linux-study-clean/tools/testing/selftests/ftrace/test.d/00basic/mount_options.tc

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/ftrace/test.d/00basic/mount_options.tc
Extension
.tc
Size
2450 bytes
Lines
102
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: tools
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# description: Test tracefs GID mount option
# requires: "[gid=<gid>]":README

fail() {
	local msg="$1"

	echo "FAILED: $msg"
	exit_fail
}

find_alternate_gid() {
	local original_gid="$1"
	tac /etc/group | grep -v ":$original_gid:" | head -1 | cut -d: -f3
}

remount_tracefs_with_options() {
	local mount_point="$1"
	local options="$2"

	mount -t tracefs -o "remount,$options" nodev "$mount_point"

	setup
}

unmount_tracefs() {
	local mount_point="$1"

	# Need to make sure the mount isn't busy so that we can umount it
	(cd $mount_point; finish_system;)

	cleanup
}

create_instance() {
	local mount_point="$1"
	local instance="$mount_point/instances/$(mktemp -u test-XXXXXX)"

	mkdir "$instance"
	echo "$instance"
}

remove_instance() {
	local instance="$1"

	rmdir "$instance"
}

check_gid() {
	local mount_point="$1"
	local expected_gid="$2"

	echo "Checking permission group ..."

	cd "$mount_point"

	for file in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable"; do
		local gid=`stat -c "%g" $file`
		if [ "$gid" -ne "$expected_gid" ]; then
			cd - # Return to the previous working directory (tracefs root)
			fail "$(realpath $file): Expected group $expected_gid; Got group $gid"
		fi
	done

	cd - # Return to the previous working directory (tracefs root)
}

test_gid_mount_option() {
	local mount_point=$(get_mount_point)

Annotation

Implementation Notes