xref: /linux/fs/tracefs/internal.h (revision 1e0731c05c985deb68a97fa44c1adcd3305dda90)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _TRACEFS_INTERNAL_H
3 #define _TRACEFS_INTERNAL_H
4 
5 enum {
6 	TRACEFS_EVENT_INODE		= BIT(1),
7 	TRACEFS_EVENT_TOP_INODE		= BIT(2),
8 };
9 
10 struct tracefs_inode {
11 	unsigned long           flags;
12 	void                    *private;
13 	struct inode            vfs_inode;
14 };
15 
16 static inline struct tracefs_inode *get_tracefs(const struct inode *inode)
17 {
18 	return container_of(inode, struct tracefs_inode, vfs_inode);
19 }
20 
21 struct dentry *tracefs_start_creating(const char *name, struct dentry *parent);
22 struct dentry *tracefs_end_creating(struct dentry *dentry);
23 struct dentry *tracefs_failed_creating(struct dentry *dentry);
24 struct inode *tracefs_get_inode(struct super_block *sb);
25 struct dentry *eventfs_start_creating(const char *name, struct dentry *parent);
26 struct dentry *eventfs_failed_creating(struct dentry *dentry);
27 struct dentry *eventfs_end_creating(struct dentry *dentry);
28 void eventfs_set_ef_status_free(struct tracefs_inode *ti, struct dentry *dentry);
29 
30 #endif /* _TRACEFS_INTERNAL_H */
31