LCOV - code coverage report
Current view: top level - drivers/md - dm-stats.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 0 2 0.0 %
Date: 2021-04-22 12:43:58 Functions: 0 0 -

          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