| Yehuda Sadeh | 3d14c5d | 2010-04-06 15:14:15 -0700 | [diff] [blame] | 1 | #ifndef _FS_CEPH_DEBUGFS_H | 
 | 2 | #define _FS_CEPH_DEBUGFS_H | 
 | 3 |  | 
 | 4 | #include "ceph_debug.h" | 
 | 5 | #include "types.h" | 
 | 6 |  | 
 | 7 | #define CEPH_DEFINE_SHOW_FUNC(name)					\ | 
 | 8 | static int name##_open(struct inode *inode, struct file *file)		\ | 
 | 9 | {									\ | 
 | 10 | 	struct seq_file *sf;						\ | 
 | 11 | 	int ret;							\ | 
 | 12 | 									\ | 
 | 13 | 	ret = single_open(file, name, NULL);				\ | 
 | 14 | 	sf = file->private_data;					\ | 
 | 15 | 	sf->private = inode->i_private;					\ | 
 | 16 | 	return ret;							\ | 
 | 17 | }									\ | 
 | 18 | 									\ | 
 | 19 | static const struct file_operations name##_fops = {			\ | 
 | 20 | 	.open		= name##_open,					\ | 
 | 21 | 	.read		= seq_read,					\ | 
 | 22 | 	.llseek		= seq_lseek,					\ | 
 | 23 | 	.release	= single_release,				\ | 
 | 24 | }; | 
 | 25 |  | 
 | 26 | /* debugfs.c */ | 
 | 27 | extern int ceph_debugfs_init(void); | 
 | 28 | extern void ceph_debugfs_cleanup(void); | 
 | 29 | extern int ceph_debugfs_client_init(struct ceph_client *client); | 
 | 30 | extern void ceph_debugfs_client_cleanup(struct ceph_client *client); | 
 | 31 |  | 
 | 32 | #endif | 
 | 33 |  |