Lines Matching defs:kernfs_node

42  * more and more kernfs_node objects will end up using same lock
72 * for each kernfs_node with one or more open files.
81 * locks, use an array of locks (e.g. open_file_mutex) and use kernfs_node
152 /* type-specific structures for kernfs_node union members */
160 * better directly in kernfs_node but is here to save space.
171 struct kernfs_node *target_kn;
178 struct kernfs_node *notify_next; /* for kernfs_notify() */
182 * kernfs_node - the building block of kernfs hierarchy. Each and every
183 * kernfs node is represented by single kernfs_node. Most fields are
186 * As long as count reference is held, the kernfs_node itself is
190 struct kernfs_node {
202 struct kernfs_node *parent;
235 * kernfs_node parameter.
240 int (*mkdir)(struct kernfs_node *parent, const char *name,
242 int (*rmdir)(struct kernfs_node *kn);
243 int (*rename)(struct kernfs_node *kn, struct kernfs_node *new_parent,
245 int (*show_path)(struct seq_file *sf, struct kernfs_node *kn,
249 struct kernfs_node *kernfs_root_to_node(struct kernfs_root *root);
253 struct kernfs_node *kn;
338 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn)
361 static inline ino_t kernfs_ino(struct kernfs_node *kn)
366 static inline ino_t kernfs_gen(struct kernfs_node *kn)
379 static inline void kernfs_enable_ns(struct kernfs_node *kn)
392 static inline bool kernfs_ns_enabled(struct kernfs_node *kn)
397 int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen);
398 int kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn,
400 void pr_cont_kernfs_name(struct kernfs_node *kn);
401 void pr_cont_kernfs_path(struct kernfs_node *kn);
402 struct kernfs_node *kernfs_get_parent(struct kernfs_node *kn);
403 struct kernfs_node *kernfs_find_and_get_ns(struct kernfs_node *parent,
405 struct kernfs_node *kernfs_walk_and_get_ns(struct kernfs_node *parent,
407 void kernfs_get(struct kernfs_node *kn);
408 void kernfs_put(struct kernfs_node *kn);
410 struct kernfs_node *kernfs_node_from_dentry(struct dentry *dentry);
412 struct inode *kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn);
414 struct dentry *kernfs_node_dentry(struct kernfs_node *kn,
420 struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
424 struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent,
426 struct kernfs_node *__kernfs_create_file(struct kernfs_node *parent,
433 struct kernfs_node *kernfs_create_link(struct kernfs_node *parent,
435 struct kernfs_node *target);
436 void kernfs_activate(struct kernfs_node *kn);
437 void kernfs_show(struct kernfs_node *kn, bool show);
438 void kernfs_remove(struct kernfs_node *kn);
439 void kernfs_break_active_protection(struct kernfs_node *kn);
440 void kernfs_unbreak_active_protection(struct kernfs_node *kn);
441 bool kernfs_remove_self(struct kernfs_node *kn);
442 int kernfs_remove_by_name_ns(struct kernfs_node *parent, const char *name,
444 int kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent,
446 int kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr);
449 void kernfs_notify(struct kernfs_node *kn);
451 int kernfs_xattr_get(struct kernfs_node *kn, const char *name,
453 int kernfs_xattr_set(struct kernfs_node *kn, const char *name,
463 struct kernfs_node *kernfs_find_and_get_node_by_id(struct kernfs_root *root,
467 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn)
470 static inline void kernfs_enable_ns(struct kernfs_node *kn) { }
472 static inline bool kernfs_ns_enabled(struct kernfs_node *kn)
475 static inline int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen)
478 static inline int kernfs_path_from_node(struct kernfs_node *root_kn,
479 struct kernfs_node *kn,
483 static inline void pr_cont_kernfs_name(struct kernfs_node *kn) { }
484 static inline void pr_cont_kernfs_path(struct kernfs_node *kn) { }
486 static inline struct kernfs_node *kernfs_get_parent(struct kernfs_node *kn)
489 static inline struct kernfs_node *
490 kernfs_find_and_get_ns(struct kernfs_node *parent, const char *name,
493 static inline struct kernfs_node *
494 kernfs_walk_and_get_ns(struct kernfs_node *parent, const char *path,
498 static inline void kernfs_get(struct kernfs_node *kn) { }
499 static inline void kernfs_put(struct kernfs_node *kn) { }
501 static inline struct kernfs_node *kernfs_node_from_dentry(struct dentry *dentry)
508 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn)
518 static inline struct kernfs_node *
519 kernfs_create_dir_ns(struct kernfs_node *parent, const char *name,
524 static inline struct kernfs_node *
525 __kernfs_create_file(struct kernfs_node *parent, const char *name,
531 static inline struct kernfs_node *
532 kernfs_create_link(struct kernfs_node *parent, const char *name,
533 struct kernfs_node *target)
536 static inline void kernfs_activate(struct kernfs_node *kn) { }
538 static inline void kernfs_remove(struct kernfs_node *kn) { }
540 static inline bool kernfs_remove_self(struct kernfs_node *kn)
543 static inline int kernfs_remove_by_name_ns(struct kernfs_node *kn,
547 static inline int kernfs_rename_ns(struct kernfs_node *kn,
548 struct kernfs_node *new_parent,
552 static inline int kernfs_setattr(struct kernfs_node *kn,
560 static inline void kernfs_notify(struct kernfs_node *kn) { }
562 static inline int kernfs_xattr_get(struct kernfs_node *kn, const char *name,
566 static inline int kernfs_xattr_set(struct kernfs_node *kn, const char *name,
586 * @kn: kernfs_node of interest
596 static inline int kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen)
601 static inline struct kernfs_node *
602 kernfs_find_and_get(struct kernfs_node *kn, const char *name)
607 static inline struct kernfs_node *
608 kernfs_walk_and_get(struct kernfs_node *kn, const char *path)
613 static inline struct kernfs_node *
614 kernfs_create_dir(struct kernfs_node *parent, const char *name, umode_t mode,
622 static inline int kernfs_remove_by_name(struct kernfs_node *parent,
628 static inline int kernfs_rename(struct kernfs_node *kn,
629 struct kernfs_node *new_parent,