From: Sukadev Bhattiprolu <sukadev@xxxxxxxxxx> Subject: [RFC][PATCH 3/5]: 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. --- fs/devpts/inode.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) Index: linux-2.6.27-rc3-tty/fs/devpts/inode.c =================================================================== --- linux-2.6.27-rc3-tty.orig/fs/devpts/inode.c 2008-08-28 17:59:15.000000000 -0700 +++ linux-2.6.27-rc3-tty/fs/devpts/inode.c 2008-08-28 18:01:11.000000000 -0700 @@ -27,6 +27,7 @@ #define DEVPTS_SUPER_MAGIC 0x1cd1 #define DEVPTS_DEFAULT_MODE 0600 +#define PTMX_MINOR 2 extern int pty_limit; /* Config limit on Unix98 ptys */ static DEFINE_IDA(allocated_ptys); @@ -247,19 +248,11 @@ int devpts_pty_new(struct inode *ptmx_in struct tty_struct *devpts_get_tty(struct inode *pts_inode, int number) { - struct dentry *dentry = get_node(number); - struct tty_struct *tty; - - tty = NULL; - if (!IS_ERR(dentry)) { - if (dentry->d_inode) - tty = dentry->d_inode->i_private; - dput(dentry); - } - - mutex_unlock(&devpts_root->d_inode->i_mutex); + BUG_ON(pts_inode->i_rdev == MKDEV(TTYAUX_MAJOR, PTMX_MINOR)); - return tty; + if (pts_inode->i_sb->s_magic == DEVPTS_SUPER_MAGIC) + return (struct tty_struct *)pts_inode->i_private; + return NULL; } void devpts_pty_kill(struct tty_struct *tty) _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers