����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* CacheFiles tracepoints
*
* Copyright (C) 2021 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com)
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM cachefiles
#if !defined(_TRACE_CACHEFILES_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_CACHEFILES_H
#include <linux/tracepoint.h>
/*
* Define enums for tracing information.
*/
#ifndef __CACHEFILES_DECLARE_TRACE_ENUMS_ONCE_ONLY
#define __CACHEFILES_DECLARE_TRACE_ENUMS_ONCE_ONLY
enum cachefiles_obj_ref_trace {
cachefiles_obj_get_ioreq,
cachefiles_obj_new,
cachefiles_obj_put_alloc_fail,
cachefiles_obj_put_detach,
cachefiles_obj_put_ioreq,
cachefiles_obj_see_clean_commit,
cachefiles_obj_see_clean_delete,
cachefiles_obj_see_clean_drop_tmp,
cachefiles_obj_see_lookup_cookie,
cachefiles_obj_see_lookup_failed,
cachefiles_obj_see_withdraw_cookie,
cachefiles_obj_see_withdrawal,
cachefiles_obj_get_ondemand_fd,
cachefiles_obj_put_ondemand_fd,
};
enum fscache_why_object_killed {
FSCACHE_OBJECT_IS_STALE,
FSCACHE_OBJECT_IS_WEIRD,
FSCACHE_OBJECT_INVALIDATED,
FSCACHE_OBJECT_NO_SPACE,
FSCACHE_OBJECT_WAS_RETIRED,
FSCACHE_OBJECT_WAS_CULLED,
FSCACHE_VOLUME_IS_WEIRD,
};
enum cachefiles_coherency_trace {
cachefiles_coherency_check_aux,
cachefiles_coherency_check_content,
cachefiles_coherency_check_dirty,
cachefiles_coherency_check_len,
cachefiles_coherency_check_objsize,
cachefiles_coherency_check_ok,
cachefiles_coherency_check_type,
cachefiles_coherency_check_xattr,
cachefiles_coherency_set_fail,
cachefiles_coherency_set_ok,
cachefiles_coherency_vol_check_cmp,
cachefiles_coherency_vol_check_ok,
cachefiles_coherency_vol_check_resv,
cachefiles_coherency_vol_check_xattr,
cachefiles_coherency_vol_set_fail,
cachefiles_coherency_vol_set_ok,
};
enum cachefiles_trunc_trace {
cachefiles_trunc_dio_adjust,
cachefiles_trunc_expand_tmpfile,
cachefiles_trunc_shrink,
};
enum cachefiles_prepare_read_trace {
cachefiles_trace_read_after_eof,
cachefiles_trace_read_found_hole,
cachefiles_trace_read_found_part,
cachefiles_trace_read_have_data,
cachefiles_trace_read_no_data,
cachefiles_trace_read_no_file,
cachefiles_trace_read_seek_error,
cachefiles_trace_read_seek_nxio,
};
enum cachefiles_error_trace {
cachefiles_trace_fallocate_error,
cachefiles_trace_getxattr_error,
cachefiles_trace_link_error,
cachefiles_trace_lookup_error,
cachefiles_trace_mkdir_error,
cachefiles_trace_notify_change_error,
cachefiles_trace_open_error,
cachefiles_trace_read_error,
cachefiles_trace_remxattr_error,
cachefiles_trace_rename_error,
cachefiles_trace_seek_error,
cachefiles_trace_setxattr_error,
cachefiles_trace_statfs_error,
cachefiles_trace_tmpfile_error,
cachefiles_trace_trunc_error,
cachefiles_trace_unlink_error,
cachefiles_trace_write_error,
};
#endif
/*
* Define enum -> string mappings for display.
*/
#define cachefiles_obj_kill_traces \
EM(FSCACHE_OBJECT_IS_STALE, "stale") \
EM(FSCACHE_OBJECT_IS_WEIRD, "weird") \
EM(FSCACHE_OBJECT_INVALIDATED, "inval") \
EM(FSCACHE_OBJECT_NO_SPACE, "no_space") \
EM(FSCACHE_OBJECT_WAS_RETIRED, "was_retired") \
EM(FSCACHE_OBJECT_WAS_CULLED, "was_culled") \
E_(FSCACHE_VOLUME_IS_WEIRD, "volume_weird")
#define cachefiles_obj_ref_traces \
EM(cachefiles_obj_get_ioreq, "GET ioreq") \
EM(cachefiles_obj_new, "NEW obj") \
EM(cachefiles_obj_put_alloc_fail, "PUT alloc_fail") \
EM(cachefiles_obj_put_detach, "PUT detach") \
EM(cachefiles_obj_put_ioreq, "PUT ioreq") \
EM(cachefiles_obj_see_clean_commit, "SEE clean_commit") \
EM(cachefiles_obj_see_clean_delete, "SEE clean_delete") \
EM(cachefiles_obj_see_clean_drop_tmp, "SEE clean_drop_tmp") \
EM(cachefiles_obj_see_lookup_cookie, "SEE lookup_cookie") \
EM(cachefiles_obj_see_lookup_failed, "SEE lookup_failed") \
EM(cachefiles_obj_see_withdraw_cookie, "SEE withdraw_cookie") \
E_(cachefiles_obj_see_withdrawal, "SEE withdrawal")
#define cachefiles_coherency_traces \
EM(cachefiles_coherency_check_aux, "BAD aux ") \
EM(cachefiles_coherency_check_content, "BAD cont") \
EM(cachefiles_coherency_check_dirty, "BAD dirt") \
EM(cachefiles_coherency_check_len, "BAD len ") \
EM(cachefiles_coherency_check_objsize, "BAD osiz") \
EM(cachefiles_coherency_check_ok, "OK ") \
EM(cachefiles_coherency_check_type, "BAD type") \
EM(cachefiles_coherency_check_xattr, "BAD xatt") \
EM(cachefiles_coherency_set_fail, "SET fail") \
EM(cachefiles_coherency_set_ok, "SET ok ") \
EM(cachefiles_coherency_vol_check_cmp, "VOL BAD cmp ") \
EM(cachefiles_coherency_vol_check_ok, "VOL OK ") \
EM(cachefiles_coherency_vol_check_resv, "VOL BAD resv") \
EM(cachefiles_coherency_vol_check_xattr,"VOL BAD xatt") \
EM(cachefiles_coherency_vol_set_fail, "VOL SET fail") \
E_(cachefiles_coherency_vol_set_ok, "VOL SET ok ")
#define cachefiles_trunc_traces \
EM(cachefiles_trunc_dio_adjust, "DIOADJ") \
EM(cachefiles_trunc_expand_tmpfile, "EXPTMP") \
E_(cachefiles_trunc_shrink, "SHRINK")
#define cachefiles_prepare_read_traces \
EM(cachefiles_trace_read_after_eof, "after-eof ") \
EM(cachefiles_trace_read_found_hole, "found-hole") \
EM(cachefiles_trace_read_found_part, "found-part") \
EM(cachefiles_trace_read_have_data, "have-data ") \
EM(cachefiles_trace_read_no_data, "no-data ") \
EM(cachefiles_trace_read_no_file, "no-file ") \
EM(cachefiles_trace_read_seek_error, "seek-error") \
E_(cachefiles_trace_read_seek_nxio, "seek-enxio")
#define cachefiles_error_traces \
EM(cachefiles_trace_fallocate_error, "fallocate") \
EM(cachefiles_trace_getxattr_error, "getxattr") \
EM(cachefiles_trace_link_error, "link") \
EM(cachefiles_trace_lookup_error, "lookup") \
EM(cachefiles_trace_mkdir_error, "mkdir") \
EM(cachefiles_trace_notify_change_error, "notify_change") \
EM(cachefiles_trace_open_error, "open") \
EM(cachefiles_trace_read_error, "read") \
EM(cachefiles_trace_remxattr_error, "remxattr") \
EM(cachefiles_trace_rename_error, "rename") \
EM(cachefiles_trace_seek_error, "seek") \
EM(cachefiles_trace_setxattr_error, "setxattr") \
EM(cachefiles_trace_statfs_error, "statfs") \
EM(cachefiles_trace_tmpfile_error, "tmpfile") \
EM(cachefiles_trace_trunc_error, "trunc") \
EM(cachefiles_trace_unlink_error, "unlink") \
E_(cachefiles_trace_write_error, "write")
/*
* Export enum symbols via userspace.
*/
#undef EM
#undef E_
#define EM(a, b) TRACE_DEFINE_ENUM(a);
#define E_(a, b) TRACE_DEFINE_ENUM(a);
cachefiles_obj_kill_traces;
cachefiles_obj_ref_traces;
cachefiles_coherency_traces;
cachefiles_trunc_traces;
cachefiles_prepare_read_traces;
cachefiles_error_traces;
/*
* Now redefine the EM() and E_() macros to map the enums to the strings that
* will be printed in the output.
*/
#undef EM
#undef E_
#define EM(a, b) { a, b },
#define E_(a, b) { a, b }
TRACE_EVENT(cachefiles_ref,
TP_PROTO(unsigned int object_debug_id,
unsigned int cookie_debug_id,
int usage,
enum cachefiles_obj_ref_trace why),
TP_ARGS(object_debug_id, cookie_debug_id, usage, why),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, cookie )
__field(enum cachefiles_obj_ref_trace, why )
__field(int, usage )
),
TP_fast_assign(
__entry->obj = object_debug_id;
__entry->cookie = cookie_debug_id;
__entry->usage = usage;
__entry->why = why;
),
TP_printk("c=%08x o=%08x u=%d %s",
__entry->cookie, __entry->obj, __entry->usage,
__print_symbolic(__entry->why, cachefiles_obj_ref_traces))
);
TRACE_EVENT(cachefiles_lookup,
TP_PROTO(struct cachefiles_object *obj,
struct dentry *dir,
struct dentry *de),
TP_ARGS(obj, dir, de),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(short, error )
__field(unsigned long, dino )
__field(unsigned long, ino )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->dino = d_backing_inode(dir)->i_ino;
__entry->ino = (!IS_ERR(de) && d_backing_inode(de) ?
d_backing_inode(de)->i_ino : 0);
__entry->error = IS_ERR(de) ? PTR_ERR(de) : 0;
),
TP_printk("o=%08x dB=%lx B=%lx e=%d",
__entry->obj, __entry->dino, __entry->ino, __entry->error)
);
TRACE_EVENT(cachefiles_mkdir,
TP_PROTO(struct dentry *dir, struct dentry *subdir),
TP_ARGS(dir, subdir),
TP_STRUCT__entry(
__field(unsigned int, dir )
__field(unsigned int, subdir )
),
TP_fast_assign(
__entry->dir = d_backing_inode(dir)->i_ino;
__entry->subdir = d_backing_inode(subdir)->i_ino;
),
TP_printk("dB=%x sB=%x",
__entry->dir,
__entry->subdir)
);
TRACE_EVENT(cachefiles_tmpfile,
TP_PROTO(struct cachefiles_object *obj, struct inode *backer),
TP_ARGS(obj, backer),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
),
TP_fast_assign(
__entry->obj = obj->debug_id;
__entry->backer = backer->i_ino;
),
TP_printk("o=%08x B=%x",
__entry->obj,
__entry->backer)
);
TRACE_EVENT(cachefiles_link,
TP_PROTO(struct cachefiles_object *obj, struct inode *backer),
TP_ARGS(obj, backer),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
),
TP_fast_assign(
__entry->obj = obj->debug_id;
__entry->backer = backer->i_ino;
),
TP_printk("o=%08x B=%x",
__entry->obj,
__entry->backer)
);
TRACE_EVENT(cachefiles_unlink,
TP_PROTO(struct cachefiles_object *obj,
ino_t ino,
enum fscache_why_object_killed why),
TP_ARGS(obj, ino, why),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, ino )
__field(enum fscache_why_object_killed, why )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : UINT_MAX;
__entry->ino = ino;
__entry->why = why;
),
TP_printk("o=%08x B=%x w=%s",
__entry->obj, __entry->ino,
__print_symbolic(__entry->why, cachefiles_obj_kill_traces))
);
TRACE_EVENT(cachefiles_rename,
TP_PROTO(struct cachefiles_object *obj,
ino_t ino,
enum fscache_why_object_killed why),
TP_ARGS(obj, ino, why),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, ino )
__field(enum fscache_why_object_killed, why )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : UINT_MAX;
__entry->ino = ino;
__entry->why = why;
),
TP_printk("o=%08x B=%x w=%s",
__entry->obj, __entry->ino,
__print_symbolic(__entry->why, cachefiles_obj_kill_traces))
);
TRACE_EVENT(cachefiles_coherency,
TP_PROTO(struct cachefiles_object *obj,
ino_t ino,
enum cachefiles_content content,
enum cachefiles_coherency_trace why),
TP_ARGS(obj, ino, content, why),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(enum cachefiles_coherency_trace, why )
__field(enum cachefiles_content, content )
__field(u64, ino )
),
TP_fast_assign(
__entry->obj = obj->debug_id;
__entry->why = why;
__entry->content = content;
__entry->ino = ino;
),
TP_printk("o=%08x %s B=%llx c=%u",
__entry->obj,
__print_symbolic(__entry->why, cachefiles_coherency_traces),
__entry->ino,
__entry->content)
);
TRACE_EVENT(cachefiles_vol_coherency,
TP_PROTO(struct cachefiles_volume *volume,
ino_t ino,
enum cachefiles_coherency_trace why),
TP_ARGS(volume, ino, why),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, vol )
__field(enum cachefiles_coherency_trace, why )
__field(u64, ino )
),
TP_fast_assign(
__entry->vol = volume->vcookie->debug_id;
__entry->why = why;
__entry->ino = ino;
),
TP_printk("V=%08x %s B=%llx",
__entry->vol,
__print_symbolic(__entry->why, cachefiles_coherency_traces),
__entry->ino)
);
TRACE_EVENT(cachefiles_prep_read,
TP_PROTO(struct cachefiles_object *obj,
loff_t start,
size_t len,
unsigned short flags,
enum netfs_io_source source,
enum cachefiles_prepare_read_trace why,
ino_t cache_inode, ino_t netfs_inode),
TP_ARGS(obj, start, len, flags, source, why, cache_inode, netfs_inode),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned short, flags )
__field(enum netfs_io_source, source )
__field(enum cachefiles_prepare_read_trace, why )
__field(size_t, len )
__field(loff_t, start )
__field(unsigned int, netfs_inode )
__field(unsigned int, cache_inode )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->flags = flags;
__entry->source = source;
__entry->why = why;
__entry->len = len;
__entry->start = start;
__entry->netfs_inode = netfs_inode;
__entry->cache_inode = cache_inode;
),
TP_printk("o=%08x %s %s f=%02x s=%llx %zx ni=%x B=%x",
__entry->obj,
__print_symbolic(__entry->source, netfs_sreq_sources),
__print_symbolic(__entry->why, cachefiles_prepare_read_traces),
__entry->flags,
__entry->start, __entry->len,
__entry->netfs_inode, __entry->cache_inode)
);
TRACE_EVENT(cachefiles_read,
TP_PROTO(struct cachefiles_object *obj,
struct inode *backer,
loff_t start,
size_t len),
TP_ARGS(obj, backer, start, len),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
__field(size_t, len )
__field(loff_t, start )
),
TP_fast_assign(
__entry->obj = obj->debug_id;
__entry->backer = backer->i_ino;
__entry->start = start;
__entry->len = len;
),
TP_printk("o=%08x B=%x s=%llx l=%zx",
__entry->obj,
__entry->backer,
__entry->start,
__entry->len)
);
TRACE_EVENT(cachefiles_write,
TP_PROTO(struct cachefiles_object *obj,
struct inode *backer,
loff_t start,
size_t len),
TP_ARGS(obj, backer, start, len),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
__field(size_t, len )
__field(loff_t, start )
),
TP_fast_assign(
__entry->obj = obj->debug_id;
__entry->backer = backer->i_ino;
__entry->start = start;
__entry->len = len;
),
TP_printk("o=%08x B=%x s=%llx l=%zx",
__entry->obj,
__entry->backer,
__entry->start,
__entry->len)
);
TRACE_EVENT(cachefiles_trunc,
TP_PROTO(struct cachefiles_object *obj, struct inode *backer,
loff_t from, loff_t to, enum cachefiles_trunc_trace why),
TP_ARGS(obj, backer, from, to, why),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
__field(enum cachefiles_trunc_trace, why )
__field(loff_t, from )
__field(loff_t, to )
),
TP_fast_assign(
__entry->obj = obj->debug_id;
__entry->backer = backer->i_ino;
__entry->from = from;
__entry->to = to;
__entry->why = why;
),
TP_printk("o=%08x B=%x %s l=%llx->%llx",
__entry->obj,
__entry->backer,
__print_symbolic(__entry->why, cachefiles_trunc_traces),
__entry->from,
__entry->to)
);
TRACE_EVENT(cachefiles_mark_active,
TP_PROTO(struct cachefiles_object *obj,
struct inode *inode),
TP_ARGS(obj, inode),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(ino_t, inode )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->inode = inode->i_ino;
),
TP_printk("o=%08x B=%lx",
__entry->obj, __entry->inode)
);
TRACE_EVENT(cachefiles_mark_failed,
TP_PROTO(struct cachefiles_object *obj,
struct inode *inode),
TP_ARGS(obj, inode),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(ino_t, inode )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->inode = inode->i_ino;
),
TP_printk("o=%08x B=%lx",
__entry->obj, __entry->inode)
);
TRACE_EVENT(cachefiles_mark_inactive,
TP_PROTO(struct cachefiles_object *obj,
struct inode *inode),
TP_ARGS(obj, inode),
/* Note that obj may be NULL */
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(ino_t, inode )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->inode = inode->i_ino;
),
TP_printk("o=%08x B=%lx",
__entry->obj, __entry->inode)
);
TRACE_EVENT(cachefiles_vfs_error,
TP_PROTO(struct cachefiles_object *obj, struct inode *backer,
int error, enum cachefiles_error_trace where),
TP_ARGS(obj, backer, error, where),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
__field(enum cachefiles_error_trace, where )
__field(short, error )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->backer = backer->i_ino;
__entry->error = error;
__entry->where = where;
),
TP_printk("o=%08x B=%x %s e=%d",
__entry->obj,
__entry->backer,
__print_symbolic(__entry->where, cachefiles_error_traces),
__entry->error)
);
TRACE_EVENT(cachefiles_io_error,
TP_PROTO(struct cachefiles_object *obj, struct inode *backer,
int error, enum cachefiles_error_trace where),
TP_ARGS(obj, backer, error, where),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
__field(enum cachefiles_error_trace, where )
__field(short, error )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->backer = backer->i_ino;
__entry->error = error;
__entry->where = where;
),
TP_printk("o=%08x B=%x %s e=%d",
__entry->obj,
__entry->backer,
__print_symbolic(__entry->where, cachefiles_error_traces),
__entry->error)
);
TRACE_EVENT(cachefiles_ondemand_open,
TP_PROTO(struct cachefiles_object *obj, struct cachefiles_msg *msg,
struct cachefiles_open *load),
TP_ARGS(obj, msg, load),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, msg_id )
__field(unsigned int, object_id )
__field(unsigned int, fd )
__field(unsigned int, flags )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->msg_id = msg->msg_id;
__entry->object_id = msg->object_id;
__entry->fd = load->fd;
__entry->flags = load->flags;
),
TP_printk("o=%08x mid=%x oid=%x fd=%d f=%x",
__entry->obj,
__entry->msg_id,
__entry->object_id,
__entry->fd,
__entry->flags)
);
TRACE_EVENT(cachefiles_ondemand_copen,
TP_PROTO(struct cachefiles_object *obj, unsigned int msg_id,
long len),
TP_ARGS(obj, msg_id, len),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, msg_id )
__field(long, len )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->msg_id = msg_id;
__entry->len = len;
),
TP_printk("o=%08x mid=%x l=%lx",
__entry->obj,
__entry->msg_id,
__entry->len)
);
TRACE_EVENT(cachefiles_ondemand_close,
TP_PROTO(struct cachefiles_object *obj, struct cachefiles_msg *msg),
TP_ARGS(obj, msg),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, msg_id )
__field(unsigned int, object_id )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->msg_id = msg->msg_id;
__entry->object_id = msg->object_id;
),
TP_printk("o=%08x mid=%x oid=%x",
__entry->obj,
__entry->msg_id,
__entry->object_id)
);
TRACE_EVENT(cachefiles_ondemand_read,
TP_PROTO(struct cachefiles_object *obj, struct cachefiles_msg *msg,
struct cachefiles_read *load),
TP_ARGS(obj, msg, load),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, msg_id )
__field(unsigned int, object_id )
__field(loff_t, start )
__field(size_t, len )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->msg_id = msg->msg_id;
__entry->object_id = msg->object_id;
__entry->start = load->off;
__entry->len = load->len;
),
TP_printk("o=%08x mid=%x oid=%x s=%llx l=%zx",
__entry->obj,
__entry->msg_id,
__entry->object_id,
__entry->start,
__entry->len)
);
TRACE_EVENT(cachefiles_ondemand_cread,
TP_PROTO(struct cachefiles_object *obj, unsigned int msg_id),
TP_ARGS(obj, msg_id),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, msg_id )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->msg_id = msg_id;
),
TP_printk("o=%08x mid=%x",
__entry->obj,
__entry->msg_id)
);
TRACE_EVENT(cachefiles_ondemand_fd_write,
TP_PROTO(struct cachefiles_object *obj, struct inode *backer,
loff_t start, size_t len),
TP_ARGS(obj, backer, start, len),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, backer )
__field(loff_t, start )
__field(size_t, len )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->backer = backer->i_ino;
__entry->start = start;
__entry->len = len;
),
TP_printk("o=%08x iB=%x s=%llx l=%zx",
__entry->obj,
__entry->backer,
__entry->start,
__entry->len)
);
TRACE_EVENT(cachefiles_ondemand_fd_release,
TP_PROTO(struct cachefiles_object *obj, int object_id),
TP_ARGS(obj, object_id),
TP_STRUCT__entry(
__field(unsigned int, obj )
__field(unsigned int, object_id )
),
TP_fast_assign(
__entry->obj = obj ? obj->debug_id : 0;
__entry->object_id = object_id;
),
TP_printk("o=%08x oid=%x",
__entry->obj,
__entry->object_id)
);
#endif /* _TRACE_CACHEFILES_H */
/* This part must be outside protection */
#include <trace/define_trace.h>
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| 9p.h | File | 5.1 KB | 0644 |
|
| afs.h | File | 56.24 KB | 0644 |
|
| alarmtimer.h | File | 2.04 KB | 0644 |
|
| asoc.h | File | 5.57 KB | 0644 |
|
| avc.h | File | 1.26 KB | 0644 |
|
| bcache.h | File | 11.44 KB | 0644 |
|
| block.h | File | 15.84 KB | 0644 |
|
| bpf_test_run.h | File | 1.23 KB | 0644 |
|
| bridge.h | File | 4.73 KB | 0644 |
|
| btrfs.h | File | 60.14 KB | 0644 |
|
| cachefiles.h | File | 22.77 KB | 0644 |
|
| cgroup.h | File | 6.3 KB | 0644 |
|
| clk.h | File | 6.17 KB | 0644 |
|
| cma.h | File | 2.95 KB | 0644 |
|
| compaction.h | File | 7.72 KB | 0644 |
|
| context_tracking.h | File | 1.15 KB | 0644 |
|
| cpuhp.h | File | 1.83 KB | 0644 |
|
| csd.h | File | 1.52 KB | 0644 |
|
| damon.h | File | 1.13 KB | 0644 |
|
| devfreq.h | File | 1.92 KB | 0644 |
|
| devlink.h | File | 7.21 KB | 0644 |
|
| dma.h | File | 13.33 KB | 0644 |
|
| dma_fence.h | File | 1.67 KB | 0644 |
|
| erofs.h | File | 6.31 KB | 0644 |
|
| error_report.h | File | 2.06 KB | 0644 |
|
| ext4.h | File | 74.52 KB | 0644 |
|
| f2fs.h | File | 45.15 KB | 0644 |
|
| fib.h | File | 2.52 KB | 0644 |
|
| fib6.h | File | 2.36 KB | 0644 |
|
| filelock.h | File | 7.33 KB | 0644 |
|
| filemap.h | File | 2.81 KB | 0644 |
|
| fs_dax.h | File | 8.26 KB | 0644 |
|
| fscache.h | File | 14.27 KB | 0644 |
|
| fsi.h | File | 2.81 KB | 0644 |
|
| fsi_master_aspeed.h | File | 2.06 KB | 0644 |
|
| fsi_master_ast_cf.h | File | 3.67 KB | 0644 |
|
| fsi_master_gpio.h | File | 3.92 KB | 0644 |
|
| gpio.h | File | 1.07 KB | 0644 |
|
| gpu_mem.h | File | 1.21 KB | 0644 |
|
| handshake.h | File | 8.21 KB | 0644 |
|
| host1x.h | File | 5.54 KB | 0644 |
|
| huge_memory.h | File | 6.6 KB | 0644 |
|
| hw_pressure.h | File | 698 B | 0644 |
|
| hwmon.h | File | 1.45 KB | 0644 |
|
| i2c.h | File | 3.95 KB | 0644 |
|
| i2c_slave.h | File | 1.84 KB | 0644 |
|
| ib_mad.h | File | 12.42 KB | 0644 |
|
| ib_umad.h | File | 4 KB | 0644 |
|
| initcall.h | File | 1.28 KB | 0644 |
|
| intel-sst.h | File | 2.51 KB | 0644 |
|
| intel_ifs.h | File | 1.38 KB | 0644 |
|
| intel_ish.h | File | 556 B | 0644 |
|
| io_uring.h | File | 16.8 KB | 0644 |
|
| iocost.h | File | 6.24 KB | 0644 |
|
| iommu.h | File | 3.02 KB | 0644 |
|
| ipi.h | File | 2.89 KB | 0644 |
|
| irq.h | File | 3.8 KB | 0644 |
|
| irq_matrix.h | File | 4.94 KB | 0644 |
|
| iscsi.h | File | 2.25 KB | 0644 |
|
| jbd2.h | File | 12.69 KB | 0644 |
|
| kmem.h | File | 8.63 KB | 0644 |
|
| ksm.h | File | 5.25 KB | 0644 |
|
| kvm.h | File | 10.93 KB | 0644 |
|
| kyber.h | File | 2.27 KB | 0644 |
|
| libata.h | File | 23.69 KB | 0644 |
|
| lock.h | File | 2.79 KB | 0644 |
|
| maple_tree.h | File | 2.69 KB | 0644 |
|
| mce.h | File | 2.53 KB | 0644 |
|
| mdio.h | File | 1.02 KB | 0644 |
|
| migrate.h | File | 3.71 KB | 0644 |
|
| mlxsw.h | File | 2.62 KB | 0644 |
|
| mmap.h | File | 2.72 KB | 0644 |
|
| mmap_lock.h | File | 2.17 KB | 0644 |
|
| mmc.h | File | 7.24 KB | 0644 |
|
| mmflags.h | File | 8.58 KB | 0644 |
|
| module.h | File | 2.78 KB | 0644 |
|
| mptcp.h | File | 4.59 KB | 0644 |
|
| napi.h | File | 1011 B | 0644 |
|
| nbd.h | File | 2.14 KB | 0644 |
|
| neigh.h | File | 7 KB | 0644 |
|
| net.h | File | 7.75 KB | 0644 |
|
| net_probe_common.h | File | 3.26 KB | 0644 |
|
| netfs.h | File | 9.46 KB | 0644 |
|
| netlink.h | File | 490 B | 0644 |
|
| nilfs2.h | File | 5.2 KB | 0644 |
|
| nmi.h | File | 780 B | 0644 |
|
| objagg.h | File | 4.58 KB | 0644 |
|
| oom.h | File | 3.88 KB | 0644 |
|
| osnoise.h | File | 5.27 KB | 0644 |
|
| page_isolation.h | File | 943 B | 0644 |
|
| page_pool.h | File | 2.6 KB | 0644 |
|
| page_ref.h | File | 2.96 KB | 0644 |
|
| pagemap.h | File | 2.14 KB | 0644 |
|
| percpu.h | File | 3.11 KB | 0644 |
|
| power.h | File | 12.67 KB | 0644 |
|
| power_cpu_migrate.h | File | 1.59 KB | 0644 |
|
| preemptirq.h | File | 2.11 KB | 0644 |
|
| printk.h | File | 786 B | 0644 |
|
| pwc.h | File | 1.67 KB | 0644 |
|
| pwm.h | File | 1.21 KB | 0644 |
|
| qdisc.h | File | 3.81 KB | 0644 |
|
| qla.h | File | 937 B | 0644 |
|
| qrtr.h | File | 2.54 KB | 0644 |
|
| rcu.h | File | 24.8 KB | 0644 |
|
| rdma_core.h | File | 7.02 KB | 0644 |
|
| regulator.h | File | 2.83 KB | 0644 |
|
| rpcgss.h | File | 14.79 KB | 0644 |
|
| rpcrdma.h | File | 50.45 KB | 0644 |
|
| rpm.h | File | 2.44 KB | 0644 |
|
| rseq.h | File | 1.26 KB | 0644 |
|
| rtc.h | File | 3.28 KB | 0644 |
|
| rwmmio.h | File | 2.67 KB | 0644 |
|
| rxrpc.h | File | 61.38 KB | 0644 |
|
| sched.h | File | 19.36 KB | 0644 |
|
| scmi.h | File | 4.63 KB | 0644 |
|
| scsi.h | File | 10.63 KB | 0644 |
|
| sctp.h | File | 2.38 KB | 0644 |
|
| signal.h | File | 3.4 KB | 0644 |
|
| siox.h | File | 1.99 KB | 0644 |
|
| skb.h | File | 2.04 KB | 0644 |
|
| smbus.h | File | 7.33 KB | 0644 |
|
| sock.h | File | 7.56 KB | 0644 |
|
| sof.h | File | 3.26 KB | 0644 |
|
| sof_intel.h | File | 4.01 KB | 0644 |
|
| spi.h | File | 5.81 KB | 0644 |
|
| spmi.h | File | 3.26 KB | 0644 |
|
| sunrpc.h | File | 60.87 KB | 0644 |
|
| sunvnet.h | File | 3.06 KB | 0644 |
|
| swiotlb.h | File | 1.03 KB | 0644 |
|
| syscalls.h | File | 1.47 KB | 0644 |
|
| target.h | File | 7.69 KB | 0644 |
|
| task.h | File | 1.49 KB | 0644 |
|
| tcp.h | File | 10.03 KB | 0644 |
|
| tegra_apb_dma.h | File | 1.61 KB | 0644 |
|
| thp.h | File | 2.48 KB | 0644 |
|
| timer.h | File | 10.65 KB | 0644 |
|
| tlb.h | File | 1.41 KB | 0644 |
|
| udp.h | File | 1.25 KB | 0644 |
|
| v4l2.h | File | 8.81 KB | 0644 |
|
| vb2.h | File | 1.73 KB | 0644 |
|
| vmalloc.h | File | 3.2 KB | 0644 |
|
| vmscan.h | File | 12.41 KB | 0644 |
|
| vsock_virtio_transport_common.h | File | 3.71 KB | 0644 |
|
| wbt.h | File | 3.82 KB | 0644 |
|
| workqueue.h | File | 2.93 KB | 0644 |
|
| writeback.h | File | 22.38 KB | 0644 |
|
| xdp.h | File | 10.03 KB | 0644 |
|
| xen.h | File | 13.9 KB | 0644 |
|