proc: introduce proc_create_seq{,_data}
Variants of proc_create{,_data} that directly take a struct seq_operations
argument and drastically reduces the boilerplate code in the callers.
All trivial callers converted over.
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
+1
-16
@@ -83,24 +83,9 @@ static void fscache_histogram_stop(struct seq_file *m, void *v)
|
||||
{
|
||||
}
|
||||
|
||||
static const struct seq_operations fscache_histogram_ops = {
|
||||
const struct seq_operations fscache_histogram_ops = {
|
||||
.start = fscache_histogram_start,
|
||||
.stop = fscache_histogram_stop,
|
||||
.next = fscache_histogram_next,
|
||||
.show = fscache_histogram_show,
|
||||
};
|
||||
|
||||
/*
|
||||
* open "/proc/fs/fscache/histogram" to provide latency data
|
||||
*/
|
||||
static int fscache_histogram_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return seq_open(file, &fscache_histogram_ops);
|
||||
}
|
||||
|
||||
const struct file_operations fscache_histogram_fops = {
|
||||
.open = fscache_histogram_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <linux/fscache-cache.h>
|
||||
#include <trace/events/fscache.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/seq_file.h>
|
||||
|
||||
#define FSCACHE_MIN_THREADS 4
|
||||
#define FSCACHE_MAX_THREADS 32
|
||||
@@ -84,7 +85,7 @@ static inline void fscache_hist(atomic_t histogram[], unsigned long start_jif)
|
||||
atomic_inc(&histogram[jif]);
|
||||
}
|
||||
|
||||
extern const struct file_operations fscache_histogram_fops;
|
||||
extern const struct seq_operations fscache_histogram_ops;
|
||||
|
||||
#else
|
||||
#define fscache_hist(hist, start_jif) do {} while (0)
|
||||
|
||||
+2
-2
@@ -32,8 +32,8 @@ int __init fscache_proc_init(void)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FSCACHE_HISTOGRAM
|
||||
if (!proc_create("fs/fscache/histogram", S_IFREG | 0444, NULL,
|
||||
&fscache_histogram_fops))
|
||||
if (!proc_create_seq("fs/fscache/histogram", S_IFREG | 0444, NULL,
|
||||
&fscache_histogram_ops))
|
||||
goto error_histogram;
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user