Signed-off-by: David Sterba <dsterba@suse.com>
} __attribute__ ((__packed__));
} __attribute__ ((__packed__));
+struct btrfs_dev_stats_item {
+ /*
+ * grow this item struct at the end for future enhancements and keep
+ * the existing values unchanged
+ */
+ __le64 values[BTRFS_DEV_STAT_VALUES_MAX];
+} __attribute__ ((__packed__));
+
struct btrfs_csum_item {
u8 csum;
} __attribute__ ((__packed__));
struct btrfs_csum_item {
u8 csum;
} __attribute__ ((__packed__));
+ * btrfs_dev_stats_item helper, returns pointer to the raw array, do the
+ * endiannes conversion, @dsi is offset to eb data
+ */
+static inline __le64* btrfs_dev_stats_values(struct extent_buffer *eb,
+ struct btrfs_dev_stats_item *dsi)
+{
+ unsigned long offset = (unsigned long)dsi;
+ struct btrfs_dev_stats_item *p;
+ p = (struct btrfs_dev_stats_item *)(eb->data + offset);
+ return p->values;
+}
+
+/*
* this returns the number of bytes used by the item on disk, minus the
* size of any extent headers. If a file is compressed on disk, this is
* the compressed size
* this returns the number of bytes used by the item on disk, minus the
* size of any extent headers. If a file is compressed on disk, this is
* the compressed size