Lines Matching refs:inode

139 static inline struct super_block *pts_sb_from_inode(struct inode *inode)  in pts_sb_from_inode()  argument
142 if (inode->i_sb->s_magic == DEVPTS_SUPER_MAGIC) in pts_sb_from_inode()
143 return inode->i_sb; in pts_sb_from_inode()
244 struct inode *inode; in mknod_ptmx() local
273 inode = new_inode(sb); in mknod_ptmx()
274 if (!inode) { in mknod_ptmx()
280 inode->i_ino = 2; in mknod_ptmx()
281 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; in mknod_ptmx()
284 init_special_inode(inode, mode, MKDEV(TTYAUX_MAJOR, 2)); in mknod_ptmx()
285 inode->i_uid = root_uid; in mknod_ptmx()
286 inode->i_gid = root_gid; in mknod_ptmx()
288 d_add(dentry, inode); in mknod_ptmx()
299 struct inode *inode; in update_ptmx_mode() local
301 inode = d_inode(fsi->ptmx_dentry); in update_ptmx_mode()
302 inode->i_mode = S_IFCHR|fsi->mount_opts.ptmxmode; in update_ptmx_mode()
377 struct inode *inode; in devpts_fill_super() local
389 inode = new_inode(s); in devpts_fill_super()
390 if (!inode) in devpts_fill_super()
392 inode->i_ino = 1; in devpts_fill_super()
393 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; in devpts_fill_super()
394 inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR; in devpts_fill_super()
395 inode->i_op = &simple_dir_inode_operations; in devpts_fill_super()
396 inode->i_fop = &simple_dir_operations; in devpts_fill_super()
397 set_nlink(inode, 2); in devpts_fill_super()
399 s->s_root = d_make_root(inode); in devpts_fill_super()
525 int devpts_new_index(struct inode *ptmx_inode) in devpts_new_index()
561 void devpts_kill_index(struct inode *ptmx_inode, int idx) in devpts_kill_index()
576 void devpts_add_ref(struct inode *ptmx_inode) in devpts_add_ref()
584 void devpts_del_ref(struct inode *ptmx_inode) in devpts_del_ref()
601 struct inode *devpts_pty_new(struct inode *ptmx_inode, dev_t device, int index, in devpts_pty_new()
606 struct inode *inode; in devpts_pty_new() local
612 inode = new_inode(sb); in devpts_pty_new()
613 if (!inode) in devpts_pty_new()
616 inode->i_ino = index + 3; in devpts_pty_new()
617 inode->i_uid = opts->setuid ? opts->uid : current_fsuid(); in devpts_pty_new()
618 inode->i_gid = opts->setgid ? opts->gid : current_fsgid(); in devpts_pty_new()
619 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; in devpts_pty_new()
620 init_special_inode(inode, S_IFCHR|opts->mode, device); in devpts_pty_new()
621 inode->i_private = priv; in devpts_pty_new()
629 d_add(dentry, inode); in devpts_pty_new()
632 iput(inode); in devpts_pty_new()
633 inode = ERR_PTR(-ENOMEM); in devpts_pty_new()
638 return inode; in devpts_pty_new()
647 void *devpts_get_priv(struct inode *pts_inode) in devpts_get_priv()
673 void devpts_pty_kill(struct inode *inode) in devpts_pty_kill() argument
675 struct super_block *sb = pts_sb_from_inode(inode); in devpts_pty_kill()
679 BUG_ON(inode->i_rdev == MKDEV(TTYAUX_MAJOR, PTMX_MINOR)); in devpts_pty_kill()
683 dentry = d_find_alias(inode); in devpts_pty_kill()
685 drop_nlink(inode); in devpts_pty_kill()