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