diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-05 20:19:42 -0400 |
---|---|---|
committer | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-23 09:35:04 -0400 |
commit | 5c9fe6281b75832e8d2555ec8700ea763d9a865e (patch) | |
tree | a8ef6a23598322e1f93ba5e7ed8d24981f73ac8b | |
parent | b6aa44ab698c7df9d951d3eb45c4fcb8ba68fb25 (diff) |
proc: move /proc/zoneinfo boilerplate to mm/vmstat.c
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
-rw-r--r-- | fs/proc/proc_misc.c | 13 | ||||
-rw-r--r-- | include/linux/vmstat.h | 1 | ||||
-rw-r--r-- | mm/vmstat.c | 15 |
3 files changed, 14 insertions, 15 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index e7a301d5d432..8f3a6f085c5f 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c | |||
@@ -57,18 +57,6 @@ | |||
57 | #include <asm/div64.h> | 57 | #include <asm/div64.h> |
58 | #include "internal.h" | 58 | #include "internal.h" |
59 | 59 | ||
60 | static int zoneinfo_open(struct inode *inode, struct file *file) | ||
61 | { | ||
62 | return seq_open(file, &zoneinfo_op); | ||
63 | } | ||
64 | |||
65 | static const struct file_operations proc_zoneinfo_file_operations = { | ||
66 | .open = zoneinfo_open, | ||
67 | .read = seq_read, | ||
68 | .llseek = seq_lseek, | ||
69 | .release = seq_release, | ||
70 | }; | ||
71 | |||
72 | #ifdef CONFIG_BLOCK | 60 | #ifdef CONFIG_BLOCK |
73 | static int diskstats_open(struct inode *inode, struct file *file) | 61 | static int diskstats_open(struct inode *inode, struct file *file) |
74 | { | 62 | { |
@@ -234,7 +222,6 @@ void __init proc_misc_init(void) | |||
234 | proc_symlink("mounts", NULL, "self/mounts"); | 222 | proc_symlink("mounts", NULL, "self/mounts"); |
235 | 223 | ||
236 | /* And now for trickier ones */ | 224 | /* And now for trickier ones */ |
237 | proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations); | ||
238 | #ifdef CONFIG_BLOCK | 225 | #ifdef CONFIG_BLOCK |
239 | proc_create("diskstats", 0, NULL, &proc_diskstats_operations); | 226 | proc_create("diskstats", 0, NULL, &proc_diskstats_operations); |
240 | #endif | 227 | #endif |
diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h index 7b68c4c1e19c..524cd1b28ecb 100644 --- a/include/linux/vmstat.h +++ b/include/linux/vmstat.h | |||
@@ -54,7 +54,6 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |||
54 | NR_VM_EVENT_ITEMS | 54 | NR_VM_EVENT_ITEMS |
55 | }; | 55 | }; |
56 | 56 | ||
57 | extern const struct seq_operations zoneinfo_op; | ||
58 | extern int sysctl_stat_interval; | 57 | extern int sysctl_stat_interval; |
59 | 58 | ||
60 | #ifdef CONFIG_VM_EVENT_COUNTERS | 59 | #ifdef CONFIG_VM_EVENT_COUNTERS |
diff --git a/mm/vmstat.c b/mm/vmstat.c index 7e1854b81868..c3ccfda23adc 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -795,7 +795,7 @@ static int zoneinfo_show(struct seq_file *m, void *arg) | |||
795 | return 0; | 795 | return 0; |
796 | } | 796 | } |
797 | 797 | ||
798 | const struct seq_operations zoneinfo_op = { | 798 | static const struct seq_operations zoneinfo_op = { |
799 | .start = frag_start, /* iterate over all zones. The same as in | 799 | .start = frag_start, /* iterate over all zones. The same as in |
800 | * fragmentation. */ | 800 | * fragmentation. */ |
801 | .next = frag_next, | 801 | .next = frag_next, |
@@ -803,6 +803,18 @@ const struct seq_operations zoneinfo_op = { | |||
803 | .show = zoneinfo_show, | 803 | .show = zoneinfo_show, |
804 | }; | 804 | }; |
805 | 805 | ||
806 | static int zoneinfo_open(struct inode *inode, struct file *file) | ||
807 | { | ||
808 | return seq_open(file, &zoneinfo_op); | ||
809 | } | ||
810 | |||
811 | static const struct file_operations proc_zoneinfo_file_operations = { | ||
812 | .open = zoneinfo_open, | ||
813 | .read = seq_read, | ||
814 | .llseek = seq_lseek, | ||
815 | .release = seq_release, | ||
816 | }; | ||
817 | |||
806 | static void *vmstat_start(struct seq_file *m, loff_t *pos) | 818 | static void *vmstat_start(struct seq_file *m, loff_t *pos) |
807 | { | 819 | { |
808 | unsigned long *v; | 820 | unsigned long *v; |
@@ -950,6 +962,7 @@ static int __init setup_vmstat(void) | |||
950 | proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); | 962 | proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); |
951 | proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops); | 963 | proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops); |
952 | proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations); | 964 | proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations); |
965 | proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations); | ||
953 | #endif | 966 | #endif |
954 | return 0; | 967 | return 0; |
955 | } | 968 | } |