提交 5aa140c2 编写于 作者: A Alexey Dobriyan

proc: move /proc/vmcore creation to fs/proc/vmcore.c

Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
上级 6d80e53f
...@@ -62,7 +62,4 @@ void __init proc_misc_init(void) ...@@ -62,7 +62,4 @@ void __init proc_misc_init(void)
proc_symlink("mounts", NULL, "self/mounts"); proc_symlink("mounts", NULL, "self/mounts");
/* And now for trickier ones */ /* And now for trickier ones */
#ifdef CONFIG_PROC_VMCORE
proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &proc_vmcore_operations);
#endif
} }
...@@ -32,7 +32,7 @@ static size_t elfcorebuf_sz; ...@@ -32,7 +32,7 @@ static size_t elfcorebuf_sz;
/* Total size of vmcore file. */ /* Total size of vmcore file. */
static u64 vmcore_size; static u64 vmcore_size;
struct proc_dir_entry *proc_vmcore = NULL; static struct proc_dir_entry *proc_vmcore = NULL;
/* Reads a page from the oldmem device from given offset. */ /* Reads a page from the oldmem device from given offset. */
static ssize_t read_from_oldmem(char *buf, size_t count, static ssize_t read_from_oldmem(char *buf, size_t count,
...@@ -162,7 +162,7 @@ static ssize_t read_vmcore(struct file *file, char __user *buffer, ...@@ -162,7 +162,7 @@ static ssize_t read_vmcore(struct file *file, char __user *buffer,
return acc; return acc;
} }
const struct file_operations proc_vmcore_operations = { static const struct file_operations proc_vmcore_operations = {
.read = read_vmcore, .read = read_vmcore,
}; };
...@@ -652,7 +652,7 @@ static int __init vmcore_init(void) ...@@ -652,7 +652,7 @@ static int __init vmcore_init(void)
return rc; return rc;
} }
/* Initialize /proc/vmcore size if proc is already up. */ proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &proc_vmcore_operations);
if (proc_vmcore) if (proc_vmcore)
proc_vmcore->size = vmcore_size; proc_vmcore->size = vmcore_size;
return 0; return 0;
......
...@@ -14,8 +14,6 @@ extern unsigned long long elfcorehdr_addr; ...@@ -14,8 +14,6 @@ extern unsigned long long elfcorehdr_addr;
extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
unsigned long, int); unsigned long, int);
extern const struct file_operations proc_vmcore_operations;
extern struct proc_dir_entry *proc_vmcore;
/* Architecture code defines this if there are other possible ELF /* Architecture code defines this if there are other possible ELF
* machine types, e.g. on bi-arch capable hardware. */ * machine types, e.g. on bi-arch capable hardware. */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册