mirror of https://gitee.com/openkylin/linux.git
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: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d962c14483
commit
8f053ac11f
|
@ -130,10 +130,6 @@ struct pid_entry {
|
|||
{ .proc_get_link = get_link } )
|
||||
#define REG(NAME, MODE, 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) \
|
||||
NOD(NAME, (S_IFREG|(MODE)), \
|
||||
NULL, &proc_single_file_operations, \
|
||||
|
@ -604,43 +600,6 @@ static const struct inode_operations proc_def_inode_operations = {
|
|||
.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)
|
||||
{
|
||||
struct inode *inode = m->private;
|
||||
|
|
|
@ -52,7 +52,6 @@ struct proc_dir_entry {
|
|||
|
||||
union proc_op {
|
||||
int (*proc_get_link)(struct dentry *, struct path *);
|
||||
int (*proc_read)(struct task_struct *task, char *page);
|
||||
int (*proc_show)(struct seq_file *m,
|
||||
struct pid_namespace *ns, struct pid *pid,
|
||||
struct task_struct *task);
|
||||
|
|
Loading…
Reference in New Issue