diff --git a/block/holder.c b/block/holder.c index 791091a7eac2..eed1fd063306 100644 --- a/block/holder.c +++ b/block/holder.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only #include #include +#include struct bd_holder_disk { struct list_head list; @@ -109,6 +110,7 @@ int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk) if (ret) goto out_del_symlink; list_add(&holder->list, &disk->slave_bdevs); + trace_android_vh_bd_link_disk_holder(bdev, disk); mutex_unlock(&blk_holder_mutex); return 0; diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 76d84fd7dddc..73eb1c342733 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -68,7 +68,7 @@ #include #include #include - +#include /* * Export tracepoints that act as a bare tracehook (ie: have no trace event @@ -448,3 +448,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_kcompactd_cpu_online); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_direct_reclaim_begin); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_direct_reclaim_end); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_read_fault); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_bd_link_disk_holder); diff --git a/include/trace/hooks/blk.h b/include/trace/hooks/blk.h new file mode 100644 index 000000000000..04ee035543e5 --- /dev/null +++ b/include/trace/hooks/blk.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM blk + +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH trace/hooks + +#if !defined(_TRACE_HOOK_BLK_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HOOK_BLK_H + +#include + +struct block_device; +struct gendisk; + +DECLARE_HOOK(android_vh_bd_link_disk_holder, + TP_PROTO(struct block_device *bdev, struct gendisk *disk), + TP_ARGS(bdev, disk)); + +#endif /* _TRACE_HOOK_BLK_H */ +/* This part must be outside protection */ +#include