Add btrfs file item tracepoints
[lttng-modules.git] / instrumentation / events / lttng-module / btrfs.h
index 4eb0db2f5bc8a18de55bdb1f29429cae7807804a..6ef21e0013b57cc4be429cf29ee6582a2299a530 100644 (file)
@@ -273,6 +273,107 @@ LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
 
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
+
+       TP_PROTO(const struct extent_map *existing, const struct extent_map *map, u64 start, u64 len),
+
+       TP_ARGS(existing, map, start, len),
+
+       TP_FIELDS(
+               ctf_integer(u64, e_start, existing->start)
+               ctf_integer(u64, e_len, existing->len)
+               ctf_integer(u64, map_start, map->start)
+               ctf_integer(u64, map_len, map->len)
+               ctf_integer(u64, start, start)
+               ctf_integer(u64, len, len)
+       )
+)
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__file_extent_item_regular,
+
+       TP_PROTO(struct btrfs_inode *bi, struct extent_buffer *l,
+                struct btrfs_file_extent_item *fi, u64 start),
+
+       TP_ARGS(bi, l, fi, start),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, bi->root->fs_info, BTRFS_FSID_SIZE)
+               ctf_integer(u64, root_obj, bi->root->objectid)
+               ctf_integer(u64, ino, btrfs_ino(bi))
+               ctf_integer(loff_t, isize, bi->vfs_inode.i_size)
+               ctf_integer(u64, disk_isize, bi->disk_i_size)
+               ctf_integer(u64, num_bytes, btrfs_file_extent_num_bytes(l, fi))
+               ctf_integer(u64, ram_bytes, btrfs_file_extent_ram_bytes(l, fi))
+               ctf_integer(u64, disk_bytenr, btrfs_file_extent_disk_bytenr(l, fi))
+               ctf_integer(u64, disk_num_bytes, btrfs_file_extent_disk_num_bytes(l, fi))
+               ctf_integer(u64, extent_offset, btrfs_file_extent_offset(l, fi))
+               ctf_integer(u8, extent_type, btrfs_file_extent_type(l, fi))
+               ctf_integer(u8, compression, btrfs_file_extent_compression(l, fi))
+               ctf_integer(u64, extent_start, start)
+               ctf_integer(u64, extent_end, (start + btrfs_file_extent_num_bytes(l, fi)))
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__file_extent_item_inline,
+
+       TP_PROTO(struct btrfs_inode *bi, struct extent_buffer *l,
+                struct btrfs_file_extent_item *fi, int slot, u64 start),
+
+       TP_ARGS(bi, l, fi, slot, start),
+
+       TP_FIELDS(
+               ctf_array(u8, fsid, bi->root->fs_info, BTRFS_FSID_SIZE)
+               ctf_integer(u64, root_obj, bi->root->objectid)
+               ctf_integer(u64, ino, btrfs_ino(bi))
+               ctf_integer(loff_t, isize, bi->vfs_inode.i_size)
+               ctf_integer(u64, disk_isize, bi->disk_i_size)
+               ctf_integer(u8, extent_type, btrfs_file_extent_type(l, fi))
+               ctf_integer(u8, compression, btrfs_file_extent_compression(l, fi))
+               ctf_integer(u64, extent_start, start)
+               ctf_integer(u64, extent_end, (start + btrfs_file_extent_inline_len(l, slot, fi)))
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(
+       btrfs__file_extent_item_regular, btrfs_get_extent_show_fi_regular,
+
+       TP_PROTO(struct btrfs_inode *bi, struct extent_buffer *l,
+                struct btrfs_file_extent_item *fi, u64 start),
+
+       TP_ARGS(bi, l, fi, start)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(
+       btrfs__file_extent_item_regular, btrfs_truncate_show_fi_regular,
+
+       TP_PROTO(struct btrfs_inode *bi, struct extent_buffer *l,
+                struct btrfs_file_extent_item *fi, u64 start),
+
+       TP_ARGS(bi, l, fi, start)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(
+       btrfs__file_extent_item_inline, btrfs_get_extent_show_fi_inline,
+
+       TP_PROTO(struct btrfs_inode *bi, struct extent_buffer *l,
+                struct btrfs_file_extent_item *fi, int slot, u64 start),
+
+       TP_ARGS(bi, l, fi, slot, start)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(
+       btrfs__file_extent_item_inline, btrfs_truncate_show_fi_inline,
+
+       TP_PROTO(struct btrfs_inode *bi, struct extent_buffer *l,
+                struct btrfs_file_extent_item *fi, int slot, u64 start),
+
+       TP_ARGS(bi, l, fi, slot, start)
+)
+#endif
+
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
 
This page took 0.026081 seconds and 4 git commands to generate.