Lines Matching refs:kn

34 static struct kernfs_iattrs *kernfs_iattrs(struct kernfs_node *kn)  in kernfs_iattrs()  argument
42 if (kn->iattr) in kernfs_iattrs()
45 kn->iattr = kzalloc(sizeof(struct kernfs_iattrs), GFP_KERNEL); in kernfs_iattrs()
46 if (!kn->iattr) in kernfs_iattrs()
48 iattrs = &kn->iattr->ia_iattr; in kernfs_iattrs()
51 iattrs->ia_mode = kn->mode; in kernfs_iattrs()
59 simple_xattrs_init(&kn->iattr->xattrs); in kernfs_iattrs()
61 ret = kn->iattr; in kernfs_iattrs()
66 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) in __kernfs_setattr() argument
72 attrs = kernfs_iattrs(kn); in __kernfs_setattr()
90 iattrs->ia_mode = kn->mode = mode; in __kernfs_setattr()
102 int kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) in kernfs_setattr() argument
107 ret = __kernfs_setattr(kn, iattr); in kernfs_setattr()
115 struct kernfs_node *kn = inode->i_private; in kernfs_iop_setattr() local
118 if (!kn) in kernfs_iop_setattr()
126 error = __kernfs_setattr(kn, iattr); in kernfs_iop_setattr()
157 struct kernfs_node *kn = kernfs_dentry_node(dentry); in kernfs_iop_listxattr() local
160 attrs = kernfs_iattrs(kn); in kernfs_iop_listxattr()
184 static void kernfs_refresh_inode(struct kernfs_node *kn, struct inode *inode) in kernfs_refresh_inode() argument
186 struct kernfs_iattrs *attrs = kn->iattr; in kernfs_refresh_inode()
188 inode->i_mode = kn->mode; in kernfs_refresh_inode()
199 if (kernfs_type(kn) == KERNFS_DIR) in kernfs_refresh_inode()
200 set_nlink(inode, kn->dir.subdirs + 2); in kernfs_refresh_inode()
207 struct kernfs_node *kn = inode->i_private; in kernfs_iop_getattr() local
210 kernfs_refresh_inode(kn, inode); in kernfs_iop_getattr()
217 static void kernfs_init_inode(struct kernfs_node *kn, struct inode *inode) in kernfs_init_inode() argument
219 kernfs_get(kn); in kernfs_init_inode()
220 inode->i_private = kn; in kernfs_init_inode()
223 inode->i_generation = kn->id.generation; in kernfs_init_inode()
225 set_default_inode_attr(inode, kn->mode); in kernfs_init_inode()
226 kernfs_refresh_inode(kn, inode); in kernfs_init_inode()
229 switch (kernfs_type(kn)) { in kernfs_init_inode()
233 if (kn->flags & KERNFS_EMPTY_DIR) in kernfs_init_inode()
237 inode->i_size = kn->attr.size; in kernfs_init_inode()
265 struct inode *kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) in kernfs_get_inode() argument
269 inode = iget_locked(sb, kn->id.ino); in kernfs_get_inode()
271 kernfs_init_inode(kn, inode); in kernfs_get_inode()
285 struct kernfs_node *kn = inode->i_private; in kernfs_evict_inode() local
289 kernfs_put(kn); in kernfs_evict_inode()
294 struct kernfs_node *kn; in kernfs_iop_permission() local
299 kn = inode->i_private; in kernfs_iop_permission()
302 kernfs_refresh_inode(kn, inode); in kernfs_iop_permission()
313 struct kernfs_node *kn = inode->i_private; in kernfs_xattr_get() local
316 attrs = kernfs_iattrs(kn); in kernfs_xattr_get()
329 struct kernfs_node *kn = inode->i_private; in kernfs_xattr_set() local
332 attrs = kernfs_iattrs(kn); in kernfs_xattr_set()
350 struct kernfs_node *kn = inode->i_private; in kernfs_security_xattr_set() local
356 attrs = kernfs_iattrs(kn); in kernfs_security_xattr_set()