1 #ifndef _FS_CEPH_DEBUGFS_H 2 #define _FS_CEPH_DEBUGFS_H 3 4 #include <linux/ceph/ceph_debug.h> 5 #include <linux/ceph/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 34