#include <linux/seq_file.h>
#include <libcfs/libcfs.h>
+#include <libcfs/linux/linux-fs.h>
#include <uapi/linux/lustre/lustre_idl.h>
/*
*/
struct lprocfs_vars {
const char *name;
- const struct file_operations *fops;
+ const struct proc_ops *fops;
void *data;
/** /proc file mode. */
mode_t proc_mode;
#endif
extern struct proc_dir_entry *
lprocfs_add_simple(struct proc_dir_entry *root, char *name,
- void *data, const struct file_operations *fops);
+ void *data, const struct proc_ops *ops);
extern struct proc_dir_entry *
lprocfs_add_symlink(const char *name, struct proc_dir_entry *parent,
const char *format, ...);
extern int lprocfs_obd_cleanup(struct obd_device *obd);
extern int lprocfs_seq_create(struct proc_dir_entry *parent, const char *name,
- mode_t mode,
- const struct file_operations *seq_fops,
+ mode_t mode, const struct proc_ops *seq_fops,
void *data);
extern int lprocfs_obd_seq_create(struct obd_device *obd, const char *name,
- mode_t mode,
- const struct file_operations *seq_fops,
+ mode_t mode, const struct proc_ops *seq_fops,
void *data);
/* Generic callbacks */
inode->i_private ? inode->i_private : \
PDE_DATA(inode)); \
} \
-static const struct file_operations name##_fops = { \
- .owner = THIS_MODULE, \
- .open = name##_single_open, \
- .read = seq_read, \
- .write = custom_seq_write, \
- .llseek = seq_lseek, \
- .release = lprocfs_single_release, \
+static const struct proc_ops name##_fops = { \
+ PROC_OWNER(THIS_MODULE) \
+ .proc_open = name##_single_open, \
+ .proc_read = seq_read, \
+ .proc_write = custom_seq_write, \
+ .proc_lseek = seq_lseek, \
+ .proc_release = lprocfs_single_release, \
}
#define LPROC_SEQ_FOPS_RO(name) __LPROC_SEQ_FOPS(name, NULL)
inode->i_private ? inode->i_private : \
PDE_DATA(inode)); \
} \
- static const struct file_operations name##_##type##_fops = { \
- .open = name##_##type##_open, \
- .write = name##_##type##_write, \
- .release = lprocfs_single_release, \
+ static const struct proc_ops name##_##type##_fops = { \
+ .proc_open = name##_##type##_open, \
+ .proc_write = name##_##type##_write, \
+ .proc_release = lprocfs_single_release, \
};
struct lustre_attr {