ext4: fix extent_status trace points
authorDmitry Monakhov <dmonakhov@gmail.com>
Thu, 14 Nov 2019 20:01:47 +0000 (20:01 +0000)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 25 Jan 2020 07:03:03 +0000 (02:03 -0500)
Show pblock only if it has meaningful value.

# before
   ext4:ext4_es_lookup_extent_exit: dev 253,0 ino 12 found 1 [1/4294967294576460752303423487 H
   ext4:ext4_es_lookup_extent_exit: dev 253,0 ino 12 found 1 [2/4294967293576460752303423487 HR
# after
   ext4:ext4_es_lookup_extent_exit: dev 253,0 ino 12 found 1 [1/4294967294) 0 H
   ext4:ext4_es_lookup_extent_exit: dev 253,0 ino 12 found 1 [2/4294967293) 0 HR

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

index 825313c..4ec30a7 100644 (file)
@@ -209,6 +209,12 @@ static inline ext4_fsblk_t ext4_es_pblock(struct extent_status *es)
        return es->es_pblk & ~ES_MASK;
 }
 
+static inline ext4_fsblk_t ext4_es_show_pblock(struct extent_status *es)
+{
+       ext4_fsblk_t pblock = ext4_es_pblock(es);
+       return pblock == ~ES_MASK ? 0 : pblock;
+}
+
 static inline void ext4_es_store_pblock(struct extent_status *es,
                                        ext4_fsblk_t pb)
 {
index 3bf7128..19c8766 100644 (file)
@@ -2282,7 +2282,7 @@ DECLARE_EVENT_CLASS(ext4__es_extent,
                __entry->ino    = inode->i_ino;
                __entry->lblk   = es->es_lblk;
                __entry->len    = es->es_len;
-               __entry->pblk   = ext4_es_pblock(es);
+               __entry->pblk   = ext4_es_show_pblock(es);
                __entry->status = ext4_es_status(es);
        ),
 
@@ -2371,7 +2371,7 @@ TRACE_EVENT(ext4_es_find_extent_range_exit,
                __entry->ino    = inode->i_ino;
                __entry->lblk   = es->es_lblk;
                __entry->len    = es->es_len;
-               __entry->pblk   = ext4_es_pblock(es);
+               __entry->pblk   = ext4_es_show_pblock(es);
                __entry->status = ext4_es_status(es);
        ),
 
@@ -2425,7 +2425,7 @@ TRACE_EVENT(ext4_es_lookup_extent_exit,
                __entry->ino    = inode->i_ino;
                __entry->lblk   = es->es_lblk;
                __entry->len    = es->es_len;
-               __entry->pblk   = ext4_es_pblock(es);
+               __entry->pblk   = ext4_es_show_pblock(es);
                __entry->status = ext4_es_status(es);
                __entry->found  = found;
        ),
@@ -2593,7 +2593,7 @@ TRACE_EVENT(ext4_es_insert_delayed_block,
                __entry->ino            = inode->i_ino;
                __entry->lblk           = es->es_lblk;
                __entry->len            = es->es_len;
-               __entry->pblk           = ext4_es_pblock(es);
+               __entry->pblk           = ext4_es_show_pblock(es);
                __entry->status         = ext4_es_status(es);
                __entry->allocated      = allocated;
        ),