xref: /linux/tools/perf/trace/beauty/fsmount.sh (revision afeea2758b4f1210361ce2a91d8fa3e7df606ad2)
13637c647SArnaldo Carvalho de Melo#!/bin/sh
23637c647SArnaldo Carvalho de Melo# SPDX-License-Identifier: LGPL-2.1
33637c647SArnaldo Carvalho de Melo
43637c647SArnaldo Carvalho de Meloif [ $# -ne 1 ] ; then
5*ab331611SArnaldo Carvalho de Melo	beauty_uapi_linux_dir=tools/perf/trace/beauty/include/uapi/linux/
63637c647SArnaldo Carvalho de Meloelse
7*ab331611SArnaldo Carvalho de Melo	beauty_uapi_linux_dir=$1
83637c647SArnaldo Carvalho de Melofi
93637c647SArnaldo Carvalho de Melo
10*ab331611SArnaldo Carvalho de Melolinux_mount=${beauty_uapi_linux_dir}/mount.h
113637c647SArnaldo Carvalho de Melo
123637c647SArnaldo Carvalho de Melo# Remove MOUNT_ATTR_RELATIME as it is zeros, handle it a special way in the beautifier
133637c647SArnaldo Carvalho de Melo# Only handle MOUNT_ATTR_ followed by a capital letter/num as __ is special case
143637c647SArnaldo Carvalho de Melo# for things like MOUNT_ATTR__ATIME that is a mask for the possible ATIME handling
153637c647SArnaldo Carvalho de Melo# bits. Special case it as well in the beautifier
163637c647SArnaldo Carvalho de Melo
173637c647SArnaldo Carvalho de Meloprintf "static const char *fsmount_attr_flags[] = {\n"
183637c647SArnaldo Carvalho de Meloregex='^[[:space:]]*#[[:space:]]*define[[:space:]]+MOUNT_ATTR_([[:alnum:]][[:alnum:]_]+)[[:space:]]+(0x[[:xdigit:]]+)[[:space:]]*.*'
19818448e9STiezhu Yanggrep -E $regex ${linux_mount} | grep -v MOUNT_ATTR_RELATIME | \
203637c647SArnaldo Carvalho de Melo	sed -r "s/$regex/\2 \1/g"	| \
213637c647SArnaldo Carvalho de Melo	xargs printf "\t[ilog2(%s) + 1] = \"%s\",\n"
223637c647SArnaldo Carvalho de Meloprintf "};\n"
23