Commit 8f053ac1 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Linus Torvalds

proc: remove INF macro

If you're applying this patch, all /proc/$PID/* files were converted
to seq_file interface and this code became unused.
Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d962c144
...@@ -130,10 +130,6 @@ struct pid_entry { ...@@ -130,10 +130,6 @@ struct pid_entry {
{ .proc_get_link = get_link } ) { .proc_get_link = get_link } )
#define REG(NAME, MODE, fops) \ #define REG(NAME, MODE, fops) \
NOD(NAME, (S_IFREG|(MODE)), NULL, &fops, {}) NOD(NAME, (S_IFREG|(MODE)), NULL, &fops, {})
#define INF(NAME, MODE, read) \
NOD(NAME, (S_IFREG|(MODE)), \
NULL, &proc_info_file_operations, \
{ .proc_read = read } )
#define ONE(NAME, MODE, show) \ #define ONE(NAME, MODE, show) \
NOD(NAME, (S_IFREG|(MODE)), \ NOD(NAME, (S_IFREG|(MODE)), \
NULL, &proc_single_file_operations, \ NULL, &proc_single_file_operations, \
...@@ -604,43 +600,6 @@ static const struct inode_operations proc_def_inode_operations = { ...@@ -604,43 +600,6 @@ static const struct inode_operations proc_def_inode_operations = {
.setattr = proc_setattr, .setattr = proc_setattr,
}; };
#define PROC_BLOCK_SIZE (3*1024) /* 4K page size but our output routines use some slack for overruns */
static ssize_t proc_info_read(struct file * file, char __user * buf,
size_t count, loff_t *ppos)
{
struct inode * inode = file_inode(file);
unsigned long page;
ssize_t length;
struct task_struct *task = get_proc_task(inode);
length = -ESRCH;
if (!task)
goto out_no_task;
if (count > PROC_BLOCK_SIZE)
count = PROC_BLOCK_SIZE;
length = -ENOMEM;
if (!(page = __get_free_page(GFP_TEMPORARY)))
goto out;
length = PROC_I(inode)->op.proc_read(task, (char*)page);
if (length >= 0)
length = simple_read_from_buffer(buf, count, ppos, (char *)page, length);
free_page(page);
out:
put_task_struct(task);
out_no_task:
return length;
}
static const struct file_operations proc_info_file_operations = {
.read = proc_info_read,
.llseek = generic_file_llseek,
};
static int proc_single_show(struct seq_file *m, void *v) static int proc_single_show(struct seq_file *m, void *v)
{ {
struct inode *inode = m->private; struct inode *inode = m->private;
......
...@@ -52,7 +52,6 @@ struct proc_dir_entry { ...@@ -52,7 +52,6 @@ struct proc_dir_entry {
union proc_op { union proc_op {
int (*proc_get_link)(struct dentry *, struct path *); int (*proc_get_link)(struct dentry *, struct path *);
int (*proc_read)(struct task_struct *task, char *page);
int (*proc_show)(struct seq_file *m, int (*proc_show)(struct seq_file *m,
struct pid_namespace *ns, struct pid *pid, struct pid_namespace *ns, struct pid *pid,
struct task_struct *task); struct task_struct *task);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment