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()
246 struct inode *inode; in mknod_ptmx() local
275 inode = new_inode(sb); in mknod_ptmx()
276 if (!inode) { in mknod_ptmx()
282 inode->i_ino = 2; in mknod_ptmx()
283 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; in mknod_ptmx()
286 init_special_inode(inode, mode, MKDEV(TTYAUX_MAJOR, 2)); in mknod_ptmx()
287 inode->i_uid = root_uid; in mknod_ptmx()
288 inode->i_gid = root_gid; in mknod_ptmx()
290 d_add(dentry, inode); in mknod_ptmx()
301 struct inode *inode; in update_ptmx_mode() local
303 inode = d_inode(fsi->ptmx_dentry); in update_ptmx_mode()
304 inode->i_mode = S_IFCHR|fsi->mount_opts.ptmxmode; in update_ptmx_mode()
379 struct inode *inode; in devpts_fill_super() local
391 inode = new_inode(s); in devpts_fill_super()
392 if (!inode) in devpts_fill_super()
394 inode->i_ino = 1; in devpts_fill_super()
395 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; in devpts_fill_super()
396 inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR; in devpts_fill_super()
397 inode->i_op = &simple_dir_inode_operations; in devpts_fill_super()
398 inode->i_fop = &simple_dir_operations; in devpts_fill_super()
399 set_nlink(inode, 2); in devpts_fill_super()
401 s->s_root = d_make_root(inode); in devpts_fill_super()
527 int devpts_new_index(struct inode *ptmx_inode) in devpts_new_index()
567 void devpts_kill_index(struct inode *ptmx_inode, int idx) in devpts_kill_index()
582 void devpts_add_ref(struct inode *ptmx_inode) in devpts_add_ref()
590 void devpts_del_ref(struct inode *ptmx_inode) in devpts_del_ref()
607 struct inode *devpts_pty_new(struct inode *ptmx_inode, dev_t device, int index, in devpts_pty_new()
612 struct inode *inode; in devpts_pty_new() local
625 inode = new_inode(sb); in devpts_pty_new()
626 if (!inode) in devpts_pty_new()
629 inode->i_ino = index + 3; in devpts_pty_new()
630 inode->i_uid = opts->setuid ? opts->uid : current_fsuid(); in devpts_pty_new()
631 inode->i_gid = opts->setgid ? opts->gid : current_fsgid(); in devpts_pty_new()
632 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; in devpts_pty_new()
633 init_special_inode(inode, S_IFCHR|opts->mode, device); in devpts_pty_new()
634 inode->i_private = priv; in devpts_pty_new()
642 d_add(dentry, inode); in devpts_pty_new()
645 iput(inode); in devpts_pty_new()
646 inode = ERR_PTR(-ENOMEM); in devpts_pty_new()
651 return inode; in devpts_pty_new()
660 void *devpts_get_priv(struct inode *pts_inode) in devpts_get_priv()
686 void devpts_pty_kill(struct inode *inode) in devpts_pty_kill() argument
688 struct super_block *sb = pts_sb_from_inode(inode); in devpts_pty_kill()
692 BUG_ON(inode->i_rdev == MKDEV(TTYAUX_MAJOR, PTMX_MINOR)); in devpts_pty_kill()
696 dentry = d_find_alias(inode); in devpts_pty_kill()
698 drop_nlink(inode); in devpts_pty_kill()