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 /mm | |
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>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmstat.c | 15 |
1 files changed, 14 insertions, 1 deletions
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 | } |