diff options
| author | Sukadev Bhattiprolu <sukadev@us.ibm.com> | 2008-10-13 05:43:08 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 12:51:43 -0400 |
| commit | 527b3e4773628b30d03323a2cb5fb0d84441990f (patch) | |
| tree | d7dfcc1b716881162d93bf24ade602a77ca171ac /fs/devpts | |
| parent | 15f1a6338ddd4e69fff965d4b3a0e1bfb7a13d9c (diff) | |
Simplify devpts_get_tty()
As pointed out by H. Peter Anvin, since the inode for the pty is known,
we don't need to look it up.
Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/devpts')
| -rw-r--r-- | fs/devpts/inode.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c index 638db9b769ac..b292ed7ff1ca 100644 --- a/fs/devpts/inode.c +++ b/fs/devpts/inode.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #define DEVPTS_SUPER_MAGIC 0x1cd1 | 27 | #define DEVPTS_SUPER_MAGIC 0x1cd1 |
| 28 | 28 | ||
| 29 | #define DEVPTS_DEFAULT_MODE 0600 | 29 | #define DEVPTS_DEFAULT_MODE 0600 |
| 30 | #define PTMX_MINOR 2 | ||
| 30 | 31 | ||
| 31 | extern int pty_limit; /* Config limit on Unix98 ptys */ | 32 | extern int pty_limit; /* Config limit on Unix98 ptys */ |
| 32 | static DEFINE_IDA(allocated_ptys); | 33 | static DEFINE_IDA(allocated_ptys); |
| @@ -247,19 +248,11 @@ int devpts_pty_new(struct inode *ptmx_inode, struct tty_struct *tty) | |||
| 247 | 248 | ||
| 248 | struct tty_struct *devpts_get_tty(struct inode *pts_inode, int number) | 249 | struct tty_struct *devpts_get_tty(struct inode *pts_inode, int number) |
| 249 | { | 250 | { |
| 250 | struct dentry *dentry = get_node(number); | 251 | BUG_ON(pts_inode->i_rdev == MKDEV(TTYAUX_MAJOR, PTMX_MINOR)); |
| 251 | struct tty_struct *tty; | ||
| 252 | |||
| 253 | tty = NULL; | ||
| 254 | if (!IS_ERR(dentry)) { | ||
| 255 | if (dentry->d_inode) | ||
| 256 | tty = dentry->d_inode->i_private; | ||
| 257 | dput(dentry); | ||
| 258 | } | ||
| 259 | |||
| 260 | mutex_unlock(&devpts_root->d_inode->i_mutex); | ||
| 261 | 252 | ||
| 262 | return tty; | 253 | if (pts_inode->i_sb->s_magic == DEVPTS_SUPER_MAGIC) |
| 254 | return (struct tty_struct *)pts_inode->i_private; | ||
| 255 | return NULL; | ||
| 263 | } | 256 | } |
| 264 | 257 | ||
| 265 | void devpts_pty_kill(struct tty_struct *tty) | 258 | void devpts_pty_kill(struct tty_struct *tty) |
