| Viewing file:  vfs.h (1.16 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
#undef TRACE_SYSTEM#define TRACE_SYSTEM vfs
 
 #include <linux/module.h>
 
 #if !defined(_TRACE_VFS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_VFS_H
 
 /*
 * Tracepoint for dirtying an inode:
 */
 TRACE_EVENT(dirty_inode,
 
 TP_PROTO(struct inode *inode, struct task_struct *task),
 
 TP_ARGS(inode, task),
 
 TP_STRUCT__entry(
 __array( char,    comm,    TASK_COMM_LEN    )
 __field( pid_t,    pid            )
 __array( char,  dev,    16        )
 __array( char,  file,   32        )
 ),
 
 TP_fast_assign(
 if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev")) {
 struct dentry *dentry;
 const char *name = "?";
 
 dentry = d_find_alias(inode);
 if (dentry) {
 spin_lock(&dentry->d_lock);
 name = (const char *) dentry->d_name.name;
 }
 
 memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
 __entry->pid = task->pid;
 strlcpy(__entry->file, name, 32);
 strlcpy(__entry->dev, inode->i_sb->s_id, 16);
 
 if (dentry) {
 spin_unlock(&dentry->d_lock);
 dput(dentry);
 }
 }
 ),
 
 TP_printk("task=%i (%s) file=%s dev=%s",
 __entry->pid, __entry->comm, __entry->file, __entry->dev)
 );
 
 #endif /* _TRACE_VFS_H */
 
 /* This part must be outside protection */
 #include <trace/define_trace.h>
 
 |