diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-03-13 20:55:15 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-03-13 20:55:15 +0000 |
commit | 1471f525455788c20b130690e0f104df451aeb43 (patch) | |
tree | 3778beba56558beb9a9548ea5b467e9c44ea966f /fs/proc | |
parent | e80d2c5456d30ebba5b0eb8a9d33e17d815d4d83 (diff) |
Merge with Linux 2.3.51.
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/array.c | 5 | ||||
-rw-r--r-- | fs/proc/inode.c | 24 | ||||
-rw-r--r-- | fs/proc/procfs_syms.c | 7 |
3 files changed, 12 insertions, 24 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c index 65bc80c88..3e1c58ad7 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -151,12 +151,13 @@ static inline char * task_state(struct task_struct *p, char *buffer) "State:\t%s\n" "Pid:\t%d\n" "PPid:\t%d\n" + "TracerPid:\t%d\n" "Uid:\t%d\t%d\t%d\t%d\n" "Gid:\t%d\t%d\t%d\t%d\n" "FDSize:\t%d\n" "Groups:\t", get_task_state(p), - p->pid, p->p_pptr->pid, + p->pid, p->p_opptr->pid, p->p_pptr->pid != p->p_opptr->pid ? p->p_opptr->pid : 0, p->uid, p->euid, p->suid, p->fsuid, p->gid, p->egid, p->sgid, p->fsgid, p->files ? p->files->max_fds : 0); @@ -327,7 +328,7 @@ int proc_pid_stat(struct task_struct *task, char * buffer) task->pid, task->comm, state, - task->p_pptr->pid, + task->p_opptr->pid, task->pgrp, task->session, task->tty ? kdev_t_to_nr(task->tty->device) : 0, diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 84a23a7f5..90ed410b7 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -100,19 +100,15 @@ static void proc_read_inode(struct inode * inode) inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; } -static int proc_statfs(struct super_block *sb, struct statfs *buf, int bufsiz) +static int proc_statfs(struct super_block *sb, struct statfs *buf) { - struct statfs tmp; - - tmp.f_type = PROC_SUPER_MAGIC; - tmp.f_bsize = PAGE_SIZE/sizeof(long); - tmp.f_blocks = 0; - tmp.f_bfree = 0; - tmp.f_bavail = 0; - tmp.f_files = 0; - tmp.f_ffree = 0; - tmp.f_namelen = NAME_MAX; - return copy_to_user(buf, &tmp, bufsiz) ? -EFAULT : 0; + buf->f_type = PROC_SUPER_MAGIC; + buf->f_bsize = PAGE_SIZE/sizeof(long); + buf->f_bfree = 0; + buf->f_bavail = 0; + buf->f_ffree = 0; + buf->f_namelen = NAME_MAX; + return 0; } static struct super_operations proc_sops = { @@ -209,7 +205,6 @@ struct super_block *proc_read_super(struct super_block *s,void *data, struct inode * root_inode; struct task_struct *p; - lock_super(s); s->s_blocksize = 1024; s->s_blocksize_bits = 10; s->s_magic = PROC_SUPER_MAGIC; @@ -229,13 +224,10 @@ struct super_block *proc_read_super(struct super_block *s,void *data, parse_options(data, &root_inode->i_uid, &root_inode->i_gid); s->u.generic_sbp = (void*) proc_super_blocks; proc_super_blocks = s; - unlock_super(s); return s; out_no_root: printk("proc_read_super: get root inode failed\n"); iput(root_inode); - s->s_dev = 0; - unlock_super(s); return NULL; } diff --git a/fs/proc/procfs_syms.c b/fs/proc/procfs_syms.c index cc1ae7d96..0203b9776 100644 --- a/fs/proc/procfs_syms.c +++ b/fs/proc/procfs_syms.c @@ -20,12 +20,7 @@ EXPORT_SYMBOL(proc_net); EXPORT_SYMBOL(proc_bus); EXPORT_SYMBOL(proc_root_driver); -static struct file_system_type proc_fs_type = { - "proc", - 0 /* FS_NO_DCACHE doesn't work correctly */, - proc_read_super, - NULL -}; +static DECLARE_FSTYPE(proc_fs_type, "proc", proc_read_super, 0); int __init init_proc_fs(void) { |