LCOV - code coverage report
Current view: top level - drivers/md - dm-stats.h (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 2 0.0 %
Date: 2022-03-28 13:20:08 Functions: 0 0 -
Branches: 0 4 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: GPL-2.0 */
       2                 :            : #ifndef DM_STATS_H
       3                 :            : #define DM_STATS_H
       4                 :            : 
       5                 :            : #include <linux/types.h>
       6                 :            : #include <linux/mutex.h>
       7                 :            : #include <linux/list.h>
       8                 :            : 
       9                 :            : int dm_statistics_init(void);
      10                 :            : void dm_statistics_exit(void);
      11                 :            : 
      12                 :            : struct dm_stats {
      13                 :            :         struct mutex mutex;
      14                 :            :         struct list_head list;  /* list of struct dm_stat */
      15                 :            :         struct dm_stats_last_position __percpu *last;
      16                 :            :         sector_t last_sector;
      17                 :            :         unsigned last_rw;
      18                 :            : };
      19                 :            : 
      20                 :            : struct dm_stats_aux {
      21                 :            :         bool merged;
      22                 :            :         unsigned long long duration_ns;
      23                 :            : };
      24                 :            : 
      25                 :            : void dm_stats_init(struct dm_stats *st);
      26                 :            : void dm_stats_cleanup(struct dm_stats *st);
      27                 :            : 
      28                 :            : struct mapped_device;
      29                 :            : 
      30                 :            : int dm_stats_message(struct mapped_device *md, unsigned argc, char **argv,
      31                 :            :                      char *result, unsigned maxlen);
      32                 :            : 
      33                 :            : void dm_stats_account_io(struct dm_stats *stats, unsigned long bi_rw,
      34                 :            :                          sector_t bi_sector, unsigned bi_sectors, bool end,
      35                 :            :                          unsigned long duration_jiffies,
      36                 :            :                          struct dm_stats_aux *aux);
      37                 :            : 
      38                 :          0 : static inline bool dm_stats_used(struct dm_stats *st)
      39                 :            : {
      40   [ #  #  #  # ]:          0 :         return !list_empty(&st->list);
      41                 :            : }
      42                 :            : 
      43                 :            : #endif

Generated by: LCOV version 1.14