LCOV - code coverage report
Current view: top level - include/trace/events - filemap.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 0 5 0.0 %
Date: 2021-04-22 12:43:58 Functions: 0 17 0.0 %

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #undef TRACE_SYSTEM
       3             : #define TRACE_SYSTEM filemap
       4             : 
       5             : #if !defined(_TRACE_FILEMAP_H) || defined(TRACE_HEADER_MULTI_READ)
       6             : #define _TRACE_FILEMAP_H
       7             : 
       8             : #include <linux/types.h>
       9             : #include <linux/tracepoint.h>
      10             : #include <linux/mm.h>
      11             : #include <linux/memcontrol.h>
      12             : #include <linux/device.h>
      13             : #include <linux/kdev_t.h>
      14             : #include <linux/errseq.h>
      15             : 
      16           0 : DECLARE_EVENT_CLASS(mm_filemap_op_page_cache,
      17             : 
      18             :         TP_PROTO(struct page *page),
      19             : 
      20             :         TP_ARGS(page),
      21             : 
      22             :         TP_STRUCT__entry(
      23             :                 __field(unsigned long, pfn)
      24             :                 __field(unsigned long, i_ino)
      25             :                 __field(unsigned long, index)
      26             :                 __field(dev_t, s_dev)
      27             :         ),
      28             : 
      29             :         TP_fast_assign(
      30             :                 __entry->pfn = page_to_pfn(page);
      31             :                 __entry->i_ino = page->mapping->host->i_ino;
      32             :                 __entry->index = page->index;
      33             :                 if (page->mapping->host->i_sb)
      34             :                         __entry->s_dev = page->mapping->host->i_sb->s_dev;
      35             :                 else
      36             :                         __entry->s_dev = page->mapping->host->i_rdev;
      37             :         ),
      38             : 
      39             :         TP_printk("dev %d:%d ino %lx page=%p pfn=%lu ofs=%lu",
      40             :                 MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
      41             :                 __entry->i_ino,
      42             :                 pfn_to_page(__entry->pfn),
      43             :                 __entry->pfn,
      44             :                 __entry->index << PAGE_SHIFT)
      45             : );
      46             : 
      47           0 : DEFINE_EVENT(mm_filemap_op_page_cache, mm_filemap_delete_from_page_cache,
      48             :         TP_PROTO(struct page *page),
      49             :         TP_ARGS(page)
      50             :         );
      51             : 
      52           0 : DEFINE_EVENT(mm_filemap_op_page_cache, mm_filemap_add_to_page_cache,
      53             :         TP_PROTO(struct page *page),
      54             :         TP_ARGS(page)
      55             :         );
      56             : 
      57           0 : TRACE_EVENT(filemap_set_wb_err,
      58             :                 TP_PROTO(struct address_space *mapping, errseq_t eseq),
      59             : 
      60             :                 TP_ARGS(mapping, eseq),
      61             : 
      62             :                 TP_STRUCT__entry(
      63             :                         __field(unsigned long, i_ino)
      64             :                         __field(dev_t, s_dev)
      65             :                         __field(errseq_t, errseq)
      66             :                 ),
      67             : 
      68             :                 TP_fast_assign(
      69             :                         __entry->i_ino = mapping->host->i_ino;
      70             :                         __entry->errseq = eseq;
      71             :                         if (mapping->host->i_sb)
      72             :                                 __entry->s_dev = mapping->host->i_sb->s_dev;
      73             :                         else
      74             :                                 __entry->s_dev = mapping->host->i_rdev;
      75             :                 ),
      76             : 
      77             :                 TP_printk("dev=%d:%d ino=0x%lx errseq=0x%x",
      78             :                         MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
      79             :                         __entry->i_ino, __entry->errseq)
      80             : );
      81             : 
      82           0 : TRACE_EVENT(file_check_and_advance_wb_err,
      83             :                 TP_PROTO(struct file *file, errseq_t old),
      84             : 
      85             :                 TP_ARGS(file, old),
      86             : 
      87             :                 TP_STRUCT__entry(
      88             :                         __field(struct file *, file)
      89             :                         __field(unsigned long, i_ino)
      90             :                         __field(dev_t, s_dev)
      91             :                         __field(errseq_t, old)
      92             :                         __field(errseq_t, new)
      93             :                 ),
      94             : 
      95             :                 TP_fast_assign(
      96             :                         __entry->file = file;
      97             :                         __entry->i_ino = file->f_mapping->host->i_ino;
      98             :                         if (file->f_mapping->host->i_sb)
      99             :                                 __entry->s_dev =
     100             :                                         file->f_mapping->host->i_sb->s_dev;
     101             :                         else
     102             :                                 __entry->s_dev =
     103             :                                         file->f_mapping->host->i_rdev;
     104             :                         __entry->old = old;
     105             :                         __entry->new = file->f_wb_err;
     106             :                 ),
     107             : 
     108             :                 TP_printk("file=%p dev=%d:%d ino=0x%lx old=0x%x new=0x%x",
     109             :                         __entry->file, MAJOR(__entry->s_dev),
     110             :                         MINOR(__entry->s_dev), __entry->i_ino, __entry->old,
     111             :                         __entry->new)
     112             : );
     113             : #endif /* _TRACE_FILEMAP_H */
     114             : 
     115             : /* This part must be outside protection */
     116             : #include <trace/define_trace.h>

Generated by: LCOV version 1.14