Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / tools / perf / trace / beauty / fsmount.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: LGPL-2.1
3
4 if [ $# -ne 1 ] ; then
5         linux_header_dir=tools/include/uapi/linux
6 else
7         linux_header_dir=$1
8 fi
9
10 linux_mount=${linux_header_dir}/mount.h
11
12 # Remove MOUNT_ATTR_RELATIME as it is zeros, handle it a special way in the beautifier
13 # Only handle MOUNT_ATTR_ followed by a capital letter/num as __ is special case
14 # for things like MOUNT_ATTR__ATIME that is a mask for the possible ATIME handling
15 # bits. Special case it as well in the beautifier
16
17 printf "static const char *fsmount_attr_flags[] = {\n"
18 regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+MOUNT_ATTR_([[:alnum:]][[:alnum:]_]+)[[:space:]]+(0x[[:xdigit:]]+)[[:space:]]*.*'
19 egrep $regex ${linux_mount} | grep -v MOUNT_ATTR_RELATIME | \
20         sed -r "s/$regex/\2 \1/g"       | \
21         xargs printf "\t[ilog2(%s) + 1] = \"%s\",\n"
22 printf "};\n"