Lines Matching refs:sb
71 static struct dentry *__kernfs_fh_to_dentry(struct super_block *sb, in __kernfs_fh_to_dentry() argument
75 struct kernfs_super_info *info = kernfs_info(sb); in __kernfs_fh_to_dentry()
115 inode = kernfs_get_inode(sb, kn); in __kernfs_fh_to_dentry()
123 static struct dentry *kernfs_fh_to_dentry(struct super_block *sb, in kernfs_fh_to_dentry() argument
127 return __kernfs_fh_to_dentry(sb, fid, fh_len, fh_type, false); in kernfs_fh_to_dentry()
130 static struct dentry *kernfs_fh_to_parent(struct super_block *sb, in kernfs_fh_to_parent() argument
134 return __kernfs_fh_to_dentry(sb, fid, fh_len, fh_type, true); in kernfs_fh_to_parent()
158 struct kernfs_root *kernfs_root_from_sb(struct super_block *sb) in kernfs_root_from_sb() argument
160 if (sb->s_op == &kernfs_sops) in kernfs_root_from_sb()
161 return kernfs_info(sb)->root; in kernfs_root_from_sb()
196 struct super_block *sb) in kernfs_node_dentry() argument
201 BUG_ON(sb->s_op != &kernfs_sops); in kernfs_node_dentry()
203 dentry = dget(sb->s_root); in kernfs_node_dentry()
236 static int kernfs_fill_super(struct super_block *sb, struct kernfs_fs_context *kfc) in kernfs_fill_super() argument
238 struct kernfs_super_info *info = kernfs_info(sb); in kernfs_fill_super()
242 info->sb = sb; in kernfs_fill_super()
244 sb->s_iflags |= SB_I_NOEXEC | SB_I_NODEV; in kernfs_fill_super()
245 sb->s_blocksize = PAGE_SIZE; in kernfs_fill_super()
246 sb->s_blocksize_bits = PAGE_SHIFT; in kernfs_fill_super()
247 sb->s_magic = kfc->magic; in kernfs_fill_super()
248 sb->s_op = &kernfs_sops; in kernfs_fill_super()
249 sb->s_xattr = kernfs_xattr_handlers; in kernfs_fill_super()
251 sb->s_export_op = &kernfs_export_ops; in kernfs_fill_super()
252 sb->s_time_gran = 1; in kernfs_fill_super()
255 sb->s_shrink.seeks = 0; in kernfs_fill_super()
259 inode = kernfs_get_inode(sb, info->root->kn); in kernfs_fill_super()
272 sb->s_root = root; in kernfs_fill_super()
273 sb->s_d_op = &kernfs_dops; in kernfs_fill_super()
277 static int kernfs_test_super(struct super_block *sb, struct fs_context *fc) in kernfs_test_super() argument
279 struct kernfs_super_info *sb_info = kernfs_info(sb); in kernfs_test_super()
285 static int kernfs_set_super(struct super_block *sb, struct fs_context *fc) in kernfs_set_super() argument
290 return set_anon_super_fc(sb, fc); in kernfs_set_super()
299 const void *kernfs_super_ns(struct super_block *sb) in kernfs_super_ns() argument
301 struct kernfs_super_info *info = kernfs_info(sb); in kernfs_super_ns()
318 struct super_block *sb; in kernfs_get_tree() local
331 sb = sget_fc(fc, kernfs_test_super, kernfs_set_super); in kernfs_get_tree()
332 if (IS_ERR(sb)) in kernfs_get_tree()
333 return PTR_ERR(sb); in kernfs_get_tree()
335 if (!sb->s_root) { in kernfs_get_tree()
336 struct kernfs_super_info *info = kernfs_info(sb); in kernfs_get_tree()
340 error = kernfs_fill_super(sb, kfc); in kernfs_get_tree()
342 deactivate_locked_super(sb); in kernfs_get_tree()
345 sb->s_flags |= SB_ACTIVE; in kernfs_get_tree()
352 fc->root = dget(sb->s_root); in kernfs_get_tree()
371 void kernfs_kill_sb(struct super_block *sb) in kernfs_kill_sb() argument
373 struct kernfs_super_info *info = kernfs_info(sb); in kernfs_kill_sb()
383 kill_anon_super(sb); in kernfs_kill_sb()