003 File Manager
Current Path:
/usr/src/sys/contrib/openzfs/include/os/linux/zfs/sys
usr
/
src
/
sys
/
contrib
/
openzfs
/
include
/
os
/
linux
/
zfs
/
sys
/
📁
..
📄
Makefile.am
(521 B)
📄
policy.h
(2.27 KB)
📄
sha2.h
(4.59 KB)
📄
trace_acl.h
(5.27 KB)
📄
trace_arc.h
(13.79 KB)
📄
trace_common.h
(4.49 KB)
📄
trace_dbgmsg.h
(2.41 KB)
📄
trace_dbuf.h
(4.91 KB)
📄
trace_dmu.h
(4.25 KB)
📄
trace_dnode.h
(4.23 KB)
📄
trace_multilist.h
(2.58 KB)
📄
trace_rrwlock.h
(1.02 KB)
📄
trace_txg.h
(2.35 KB)
📄
trace_vdev.h
(3.95 KB)
📄
trace_zfs.h
(1.55 KB)
📄
trace_zil.h
(7.76 KB)
📄
trace_zio.h
(2.49 KB)
📄
trace_zrlock.h
(2.51 KB)
📄
zfs_bootenv_os.h
(659 B)
📄
zfs_context_os.h
(995 B)
📄
zfs_ctldir.h
(3.83 KB)
📄
zfs_dir.h
(2.8 KB)
📄
zfs_vfsops_os.h
(8.34 KB)
📄
zfs_vnops_os.h
(3.28 KB)
📄
zfs_znode_impl.h
(4.89 KB)
📄
zpl.h
(5.03 KB)
Editing: trace_dbuf.h
/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ #if defined(_KERNEL) #if defined(HAVE_DECLARE_EVENT_CLASS) #undef TRACE_SYSTEM #define TRACE_SYSTEM zfs #undef TRACE_SYSTEM_VAR #define TRACE_SYSTEM_VAR zfs_dbuf #if !defined(_TRACE_DBUF_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_DBUF_H #include <linux/tracepoint.h> #include <sys/types.h> #ifndef TRACE_DBUF_MSG_MAX #define TRACE_DBUF_MSG_MAX 512 #endif /* * Generic support for two argument tracepoints of the form: * * DTRACE_PROBE2(..., * dmu_buf_impl_t *, ..., * zio_t *, ...); */ #define DBUF_TP_STRUCT_ENTRY \ __dynamic_array(char, os_spa, TRACE_DBUF_MSG_MAX) \ __field(uint64_t, ds_object) \ __field(uint64_t, db_object) \ __field(uint64_t, db_level) \ __field(uint64_t, db_blkid) \ __field(uint64_t, db_offset) \ __field(uint64_t, db_size) \ __field(uint64_t, db_state) \ __field(int64_t, db_holds) \ __dynamic_array(char, msg, TRACE_DBUF_MSG_MAX) #define DBUF_TP_FAST_ASSIGN \ if (db != NULL) { \ __assign_str(os_spa, \ spa_name(DB_DNODE(db)->dn_objset->os_spa)); \ \ __entry->ds_object = db->db_objset->os_dsl_dataset ? \ db->db_objset->os_dsl_dataset->ds_object : 0; \ \ __entry->db_object = db->db.db_object; \ __entry->db_level = db->db_level; \ __entry->db_blkid = db->db_blkid; \ __entry->db_offset = db->db.db_offset; \ __entry->db_size = db->db.db_size; \ __entry->db_state = db->db_state; \ __entry->db_holds = zfs_refcount_count(&db->db_holds); \ snprintf(__get_str(msg), TRACE_DBUF_MSG_MAX, \ DBUF_TP_PRINTK_FMT, DBUF_TP_PRINTK_ARGS); \ } else { \ __assign_str(os_spa, "NULL") \ __entry->ds_object = 0; \ __entry->db_object = 0; \ __entry->db_level = 0; \ __entry->db_blkid = 0; \ __entry->db_offset = 0; \ __entry->db_size = 0; \ __entry->db_state = 0; \ __entry->db_holds = 0; \ snprintf(__get_str(msg), TRACE_DBUF_MSG_MAX, \ "dbuf { NULL }"); \ } #define DBUF_TP_PRINTK_FMT \ "dbuf { spa \"%s\" objset %llu object %llu level %llu " \ "blkid %llu offset %llu size %llu state %llu holds %lld }" #define DBUF_TP_PRINTK_ARGS \ __get_str(os_spa), __entry->ds_object, \ __entry->db_object, __entry->db_level, \ __entry->db_blkid, __entry->db_offset, \ __entry->db_size, __entry->db_state, __entry->db_holds /* BEGIN CSTYLED */ DECLARE_EVENT_CLASS(zfs_dbuf_class, TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), TP_ARGS(db, zio), TP_STRUCT__entry(DBUF_TP_STRUCT_ENTRY), TP_fast_assign(DBUF_TP_FAST_ASSIGN), TP_printk("%s", __get_str(msg)) ); DECLARE_EVENT_CLASS(zfs_dbuf_state_class, TP_PROTO(dmu_buf_impl_t *db, const char *why), TP_ARGS(db, why), TP_STRUCT__entry(DBUF_TP_STRUCT_ENTRY), TP_fast_assign(DBUF_TP_FAST_ASSIGN), TP_printk("%s", __get_str(msg)) ); /* END CSTYLED */ /* BEGIN CSTYLED */ #define DEFINE_DBUF_EVENT(name) \ DEFINE_EVENT(zfs_dbuf_class, name, \ TP_PROTO(dmu_buf_impl_t *db, zio_t *zio), \ TP_ARGS(db, zio)) /* END CSTYLED */ DEFINE_DBUF_EVENT(zfs_blocked__read); /* BEGIN CSTYLED */ #define DEFINE_DBUF_STATE_EVENT(name) \ DEFINE_EVENT(zfs_dbuf_state_class, name, \ TP_PROTO(dmu_buf_impl_t *db, const char *why), \ TP_ARGS(db, why)) /* END CSTYLED */ DEFINE_DBUF_STATE_EVENT(zfs_dbuf__state_change); /* BEGIN CSTYLED */ DECLARE_EVENT_CLASS(zfs_dbuf_evict_one_class, TP_PROTO(dmu_buf_impl_t *db, multilist_sublist_t *mls), TP_ARGS(db, mls), TP_STRUCT__entry(DBUF_TP_STRUCT_ENTRY), TP_fast_assign(DBUF_TP_FAST_ASSIGN), TP_printk("%s", __get_str(msg)) ); /* END CSTYLED */ /* BEGIN CSTYLED */ #define DEFINE_DBUF_EVICT_ONE_EVENT(name) \ DEFINE_EVENT(zfs_dbuf_evict_one_class, name, \ TP_PROTO(dmu_buf_impl_t *db, multilist_sublist_t *mls), \ TP_ARGS(db, mls)) /* END CSTYLED */ DEFINE_DBUF_EVICT_ONE_EVENT(zfs_dbuf__evict__one); #endif /* _TRACE_DBUF_H */ #undef TRACE_INCLUDE_PATH #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_PATH sys #define TRACE_INCLUDE_FILE trace_dbuf #include <trace/define_trace.h> #else DEFINE_DTRACE_PROBE2(blocked__read); DEFINE_DTRACE_PROBE2(dbuf__evict__one); DEFINE_DTRACE_PROBE2(dbuf__state_change); #endif /* HAVE_DECLARE_EVENT_CLASS */ #endif /* _KERNEL */
Upload File
Create Folder