/* Generated by ./xlat/gen.sh from ./xlat/btrfs_dev_stats_values.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"


#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

extern const struct xlat btrfs_dev_stats_values[];

# else

#  if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
#  endif
const struct xlat btrfs_dev_stats_values[] = {
 XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_WRITE_ERRS),
 XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_READ_ERRS),
 XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_FLUSH_ERRS),
 XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_CORRUPTION_ERRS),
 XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_GENERATION_ERRS),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
