Lines Matching full:fsi
150 struct vfsmount *devpts_mntget(struct file *filp, struct pts_fs_info *fsi) in devpts_mntget() argument
167 (DEVPTS_SB(path.mnt->mnt_sb) != fsi)) in devpts_mntget()
171 if (DEVPTS_SB(path.mnt->mnt_sb) == fsi) in devpts_mntget()
213 void devpts_release(struct pts_fs_info *fsi) in devpts_release() argument
215 deactivate_super(fsi->sb); in devpts_release()
223 struct pts_fs_info *fsi = fc->s_fs_info; in devpts_parse_param() local
224 struct pts_mount_opts *opts = &fsi->mount_opts; in devpts_parse_param()
266 struct pts_fs_info *fsi = DEVPTS_SB(sb); in mknod_ptmx() local
267 struct pts_mount_opts *opts = &fsi->mount_opts; in mknod_ptmx()
274 if (fsi->ptmx_dentry) { in mknod_ptmx()
305 fsi->ptmx_dentry = dentry; in mknod_ptmx()
312 static void update_ptmx_mode(struct pts_fs_info *fsi) in update_ptmx_mode() argument
315 if (fsi->ptmx_dentry) { in update_ptmx_mode()
316 inode = d_inode(fsi->ptmx_dentry); in update_ptmx_mode()
317 inode->i_mode = S_IFCHR|fsi->mount_opts.ptmxmode; in update_ptmx_mode()
323 struct pts_fs_info *fsi = DEVPTS_SB(fc->root->d_sb); in devpts_reconfigure() local
331 fsi->mount_opts.setuid = new->mount_opts.setuid; in devpts_reconfigure()
332 fsi->mount_opts.setgid = new->mount_opts.setgid; in devpts_reconfigure()
333 fsi->mount_opts.uid = new->mount_opts.uid; in devpts_reconfigure()
334 fsi->mount_opts.gid = new->mount_opts.gid; in devpts_reconfigure()
335 fsi->mount_opts.mode = new->mount_opts.mode; in devpts_reconfigure()
336 fsi->mount_opts.ptmxmode = new->mount_opts.ptmxmode; in devpts_reconfigure()
337 fsi->mount_opts.max = new->mount_opts.max; in devpts_reconfigure()
345 update_ptmx_mode(fsi); in devpts_reconfigure()
352 struct pts_fs_info *fsi = DEVPTS_SB(root->d_sb); in devpts_show_options() local
353 struct pts_mount_opts *opts = &fsi->mount_opts; in devpts_show_options()
376 struct pts_fs_info *fsi = DEVPTS_SB(s); in devpts_fill_super() local
386 fsi->sb = s; in devpts_fill_super()
435 struct pts_fs_info *fsi; in devpts_init_fs_context() local
437 fsi = kzalloc(sizeof(struct pts_fs_info), GFP_KERNEL); in devpts_init_fs_context()
438 if (!fsi) in devpts_init_fs_context()
441 ida_init(&fsi->allocated_ptys); in devpts_init_fs_context()
442 fsi->mount_opts.uid = GLOBAL_ROOT_UID; in devpts_init_fs_context()
443 fsi->mount_opts.gid = GLOBAL_ROOT_GID; in devpts_init_fs_context()
444 fsi->mount_opts.mode = DEVPTS_DEFAULT_MODE; in devpts_init_fs_context()
445 fsi->mount_opts.ptmxmode = DEVPTS_DEFAULT_PTMX_MODE; in devpts_init_fs_context()
446 fsi->mount_opts.max = NR_UNIX98_PTY_MAX; in devpts_init_fs_context()
450 fsi->mount_opts.reserve = true; in devpts_init_fs_context()
452 fc->s_fs_info = fsi; in devpts_init_fs_context()
459 struct pts_fs_info *fsi = DEVPTS_SB(sb); in devpts_kill_sb() local
461 if (fsi) in devpts_kill_sb()
462 ida_destroy(&fsi->allocated_ptys); in devpts_kill_sb()
463 kfree(fsi); in devpts_kill_sb()
480 int devpts_new_index(struct pts_fs_info *fsi) in devpts_new_index() argument
485 (fsi->mount_opts.reserve ? 0 : pty_reserve))) in devpts_new_index()
488 index = ida_alloc_max(&fsi->allocated_ptys, fsi->mount_opts.max - 1, in devpts_new_index()
497 void devpts_kill_index(struct pts_fs_info *fsi, int idx) in devpts_kill_index() argument
499 ida_free(&fsi->allocated_ptys, idx); in devpts_kill_index()
505 * @fsi: Filesystem info for this instance.
512 struct dentry *devpts_pty_new(struct pts_fs_info *fsi, int index, void *priv) in devpts_pty_new() argument
515 struct super_block *sb = fsi->sb; in devpts_pty_new()
522 opts = &fsi->mount_opts; in devpts_pty_new()