diff options
| author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-04 06:13:59 -0400 |
|---|---|---|
| committer | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-23 06:29:04 -0400 |
| commit | cf9887f102541b8a0adb73f7da9c28d090622010 (patch) | |
| tree | c06fa077c8d8fcf6d88a267172a6322619e5f7e0 | |
| parent | 6827400713fa22312ca3b4f47b0e64871c88040c (diff) | |
proc: switch /proc/cmdline to seq_file
and move it to fs/proc/cmdline.c while I'm at it.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
| -rw-r--r-- | fs/proc/Makefile | 1 | ||||
| -rw-r--r-- | fs/proc/cmdline.c | 29 | ||||
| -rw-r--r-- | fs/proc/proc_misc.c | 10 |
3 files changed, 30 insertions, 10 deletions
diff --git a/fs/proc/Makefile b/fs/proc/Makefile index 97985c848ac3..48f9f0f121b0 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile | |||
| @@ -9,6 +9,7 @@ proc-$(CONFIG_MMU) := mmu.o task_mmu.o | |||
| 9 | 9 | ||
| 10 | proc-y += inode.o root.o base.o generic.o array.o \ | 10 | proc-y += inode.o root.o base.o generic.o array.o \ |
| 11 | proc_tty.o proc_misc.o | 11 | proc_tty.o proc_misc.o |
| 12 | proc-y += cmdline.o | ||
| 12 | proc-y += loadavg.o | 13 | proc-y += loadavg.o |
| 13 | proc-y += meminfo.o | 14 | proc-y += meminfo.o |
| 14 | proc-y += uptime.o | 15 | proc-y += uptime.o |
diff --git a/fs/proc/cmdline.c b/fs/proc/cmdline.c new file mode 100644 index 000000000000..82676e3fcd1d --- /dev/null +++ b/fs/proc/cmdline.c | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | #include <linux/fs.h> | ||
| 2 | #include <linux/init.h> | ||
| 3 | #include <linux/proc_fs.h> | ||
| 4 | #include <linux/seq_file.h> | ||
| 5 | |||
| 6 | static int cmdline_proc_show(struct seq_file *m, void *v) | ||
| 7 | { | ||
| 8 | seq_printf(m, "%s\n", saved_command_line); | ||
| 9 | return 0; | ||
| 10 | } | ||
| 11 | |||
| 12 | static int cmdline_proc_open(struct inode *inode, struct file *file) | ||
| 13 | { | ||
| 14 | return single_open(file, cmdline_proc_show, NULL); | ||
| 15 | } | ||
| 16 | |||
| 17 | static const struct file_operations cmdline_proc_fops = { | ||
| 18 | .open = cmdline_proc_open, | ||
| 19 | .read = seq_read, | ||
| 20 | .llseek = seq_lseek, | ||
| 21 | .release = single_release, | ||
| 22 | }; | ||
| 23 | |||
| 24 | static int __init proc_cmdline_init(void) | ||
| 25 | { | ||
| 26 | proc_create("cmdline", 0, NULL, &cmdline_proc_fops); | ||
| 27 | return 0; | ||
| 28 | } | ||
| 29 | module_init(proc_cmdline_init); | ||
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 9fa20f157cf3..15257d4b1b91 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c | |||
| @@ -472,15 +472,6 @@ static const struct file_operations proc_interrupts_operations = { | |||
| 472 | .release = seq_release, | 472 | .release = seq_release, |
| 473 | }; | 473 | }; |
| 474 | 474 | ||
| 475 | static int cmdline_read_proc(char *page, char **start, off_t off, | ||
| 476 | int count, int *eof, void *data) | ||
| 477 | { | ||
| 478 | int len; | ||
| 479 | |||
| 480 | len = sprintf(page, "%s\n", saved_command_line); | ||
| 481 | return proc_calc_metrics(page, start, off, count, eof, len); | ||
| 482 | } | ||
| 483 | |||
| 484 | #ifdef CONFIG_FILE_LOCKING | 475 | #ifdef CONFIG_FILE_LOCKING |
| 485 | static int locks_open(struct inode *inode, struct file *filp) | 476 | static int locks_open(struct inode *inode, struct file *filp) |
| 486 | { | 477 | { |
| @@ -641,7 +632,6 @@ void __init proc_misc_init(void) | |||
| 641 | char *name; | 632 | char *name; |
| 642 | int (*read_proc)(char*,char**,off_t,int,int*,void*); | 633 | int (*read_proc)(char*,char**,off_t,int,int*,void*); |
| 643 | } *p, simple_ones[] = { | 634 | } *p, simple_ones[] = { |
| 644 | {"cmdline", cmdline_read_proc}, | ||
| 645 | {"execdomains", execdomains_read_proc}, | 635 | {"execdomains", execdomains_read_proc}, |
| 646 | {NULL,} | 636 | {NULL,} |
| 647 | }; | 637 | }; |
