ext4: fix symbolic enum printing in trace output
authorDmitry Monakhov <dmonakhov@gmail.com>
Thu, 14 Nov 2019 20:01:46 +0000 (20:01 +0000)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 25 Jan 2020 07:03:02 +0000 (02:03 -0500)
commit459c80742e6a4a5375d9765a326e6047103460f5
tree461ec9c4feac12c21c61b36cc163838931c94303
parent57c32ea42f8e802bda47010418e25043e0c9337f
ext4: fix symbolic enum printing in trace output

Trace's macro __print_flags() produce raw event's decraration w/o knowing actual
flags value

cat /sys/kernel/debug/tracing/events/ext4/ext4_ext_map_blocks_exit/format
..
__print_flags(REC->mflags, "", { (1 << BH_New),

For that reason we have to explicitly define it via special macro TRACE_DEFINE_ENUM()
Also add missed EXTENT_STATUS_REFERENCED flag.

#Before patch
ext4:ext4_ext_map_blocks_exit: dev 253,0 ino 2 flags  lblk 0 pblk 4177 len 1 mflags 0x20 ret 1
ext4:ext4_ext_map_blocks_exit: dev 253,0 ino 12 flags CREATE lblk 0 pblk 34304 len 1 mflags 0x60 ret 1

#With patch
ext4:ext4_ext_map_blocks_exit: dev 253,0 ino 2 flags  lblk 0 pblk 4177 len 1 mflags M ret 1
ext4:ext4_ext_map_blocks_exit: dev 253,0 ino 12 flags CREATE lblk 0 pblk 34816 len 1 mflags NM ret 1

Signed-off-by: Dmitry Monakhov <dmonakhov@gmail.com>
Link: https://lore.kernel.org/r/20191114200147.1073-1-dmonakhov@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
include/trace/events/ext4.h