Lines Matching refs:dentry

197 				       struct dentry *upperdentry,
204 struct inode *dir, struct dentry *dentry)
206 int err = vfs_rmdir(ovl_upper_mnt_idmap(ofs), dir, dentry);
208 pr_debug("rmdir(%pd2) = %i\n", dentry, err);
213 struct dentry *dentry)
215 int err = vfs_unlink(ovl_upper_mnt_idmap(ofs), dir, dentry, NULL);
217 pr_debug("unlink(%pd2) = %i\n", dentry, err);
221 static inline int ovl_do_link(struct ovl_fs *ofs, struct dentry *old_dentry,
222 struct inode *dir, struct dentry *new_dentry)
232 struct inode *dir, struct dentry *dentry,
235 int err = vfs_create(ovl_upper_mnt_idmap(ofs), dir, dentry, mode, true);
237 pr_debug("create(%pd2, 0%o) = %i\n", dentry, mode, err);
242 struct inode *dir, struct dentry *dentry,
245 int err = vfs_mkdir(ovl_upper_mnt_idmap(ofs), dir, dentry, mode);
246 pr_debug("mkdir(%pd2, 0%o) = %i\n", dentry, mode, err);
251 struct inode *dir, struct dentry *dentry,
254 int err = vfs_mknod(ovl_upper_mnt_idmap(ofs), dir, dentry, mode, dev);
256 pr_debug("mknod(%pd2, 0%o, 0%o) = %i\n", dentry, mode, dev, err);
261 struct inode *dir, struct dentry *dentry,
264 int err = vfs_symlink(ovl_upper_mnt_idmap(ofs), dir, dentry, oldname);
266 pr_debug("symlink(\"%s\", %pd2) = %i\n", oldname, dentry, err);
275 WARN_ON(path->dentry->d_sb != path->mnt->mnt_sb);
277 err = vfs_getxattr(mnt_idmap(path->mnt), path->dentry,
282 path->dentry, name, min(len, 48), value, size, err);
287 struct dentry *upperdentry,
292 .dentry = upperdentry,
307 static inline int ovl_do_setxattr(struct ovl_fs *ofs, struct dentry *dentry,
311 int err = vfs_setxattr(ovl_upper_mnt_idmap(ofs), dentry, name,
315 dentry, name, min((int)size, 48), value, size, flags, err);
319 static inline int ovl_setxattr(struct ovl_fs *ofs, struct dentry *dentry,
323 return ovl_do_setxattr(ofs, dentry, ovl_xattr(ofs, ox), value, size, 0);
326 static inline int ovl_do_removexattr(struct ovl_fs *ofs, struct dentry *dentry,
329 int err = vfs_removexattr(ovl_upper_mnt_idmap(ofs), dentry, name);
330 pr_debug("removexattr(%pd2, \"%s\") = %i\n", dentry, name, err);
334 static inline int ovl_removexattr(struct ovl_fs *ofs, struct dentry *dentry,
337 return ovl_do_removexattr(ofs, dentry, ovl_xattr(ofs, ox));
340 static inline int ovl_do_set_acl(struct ovl_fs *ofs, struct dentry *dentry,
343 return vfs_set_acl(ovl_upper_mnt_idmap(ofs), dentry, acl_name, acl);
346 static inline int ovl_do_remove_acl(struct ovl_fs *ofs, struct dentry *dentry,
349 return vfs_remove_acl(ovl_upper_mnt_idmap(ofs), dentry, acl_name);
353 struct dentry *olddentry, struct inode *newdir,
354 struct dentry *newdentry, unsigned int flags)
377 struct inode *dir, struct dentry *dentry)
379 int err = vfs_whiteout(ovl_upper_mnt_idmap(ofs), dir, dentry);
380 pr_debug("whiteout(%pd2) = %i\n", dentry, err);
385 struct dentry *dentry, umode_t mode)
387 struct path path = { .mnt = ovl_upper_mnt(ofs), .dentry = dentry };
393 pr_debug("tmpfile(%pd2, 0%o) = %i\n", dentry, mode, err);
397 static inline struct dentry *ovl_lookup_upper(struct ovl_fs *ofs,
399 struct dentry *base, int len)
421 int ovl_get_write_access(struct dentry *dentry);
422 void ovl_put_write_access(struct dentry *dentry);
423 void ovl_start_write(struct dentry *dentry);
424 void ovl_end_write(struct dentry *dentry);
425 int ovl_want_write(struct dentry *dentry);
426 void ovl_drop_write(struct dentry *dentry);
427 struct dentry *ovl_workdir(struct dentry *dentry);
436 struct dentry *ovl_indexdir(struct super_block *sb);
445 bool ovl_dentry_remote(struct dentry *dentry);
446 void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *realdentry);
447 void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry,
449 void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry,
451 bool ovl_dentry_weird(struct dentry *dentry);
452 enum ovl_path_type ovl_path_type(struct dentry *dentry);
453 void ovl_path_upper(struct dentry *dentry, struct path *path);
454 void ovl_path_lower(struct dentry *dentry, struct path *path);
455 void ovl_path_lowerdata(struct dentry *dentry, struct path *path);
457 enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path);
458 enum ovl_path_type ovl_path_realdata(struct dentry *dentry, struct path *path);
459 struct dentry *ovl_dentry_upper(struct dentry *dentry);
460 struct dentry *ovl_dentry_lower(struct dentry *dentry);
461 struct dentry *ovl_dentry_lowerdata(struct dentry *dentry);
462 int ovl_dentry_set_lowerdata(struct dentry *dentry, struct ovl_path *datapath);
464 const struct ovl_layer *ovl_layer_lower(struct dentry *dentry);
465 struct dentry *ovl_dentry_real(struct dentry *dentry);
466 struct dentry *ovl_i_dentry_upper(struct inode *inode);
475 void ovl_dentry_set_flag(unsigned long flag, struct dentry *dentry);
476 void ovl_dentry_clear_flag(unsigned long flag, struct dentry *dentry);
477 bool ovl_dentry_test_flag(unsigned long flag, struct dentry *dentry);
478 bool ovl_dentry_is_opaque(struct dentry *dentry);
479 bool ovl_dentry_is_whiteout(struct dentry *dentry);
480 void ovl_dentry_set_opaque(struct dentry *dentry);
481 bool ovl_dentry_has_xwhiteouts(struct dentry *dentry);
482 void ovl_dentry_set_xwhiteouts(struct dentry *dentry);
485 bool ovl_dentry_has_upper_alias(struct dentry *dentry);
486 void ovl_dentry_set_upper_alias(struct dentry *dentry);
487 bool ovl_dentry_needs_data_copy_up(struct dentry *dentry, int flags);
488 bool ovl_dentry_needs_data_copy_up_locked(struct dentry *dentry, int flags);
491 const char *ovl_dentry_get_redirect(struct dentry *dentry);
492 void ovl_dentry_set_redirect(struct dentry *dentry, const char *redirect);
493 void ovl_inode_update(struct inode *inode, struct dentry *upperdentry);
494 void ovl_dir_modified(struct dentry *dentry, bool impurity);
496 bool ovl_is_whiteout(struct dentry *dentry);
499 int ovl_copy_up_start(struct dentry *dentry, int flags);
500 void ovl_copy_up_end(struct dentry *dentry);
501 bool ovl_already_copied_up(struct dentry *dentry, int flags);
510 struct dentry *upperdentry)
513 .dentry = upperdentry,
520 struct dentry *upperdentry)
523 .dentry = upperdentry,
529 int ovl_check_setxattr(struct ovl_fs *ofs, struct dentry *upperdentry,
532 int ovl_set_impure(struct dentry *dentry, struct dentry *upperdentry);
533 bool ovl_inuse_trylock(struct dentry *dentry);
534 void ovl_inuse_unlock(struct dentry *dentry);
535 bool ovl_is_inuse(struct dentry *dentry);
536 bool ovl_need_index(struct dentry *dentry);
537 int ovl_nlink_start(struct dentry *dentry);
538 void ovl_nlink_end(struct dentry *dentry);
539 int ovl_lock_rename_workdir(struct dentry *workdir, struct dentry *upperdir);
542 int ovl_set_metacopy_xattr(struct ovl_fs *ofs, struct dentry *d,
544 bool ovl_is_metacopy_dentry(struct dentry *dentry);
572 struct dentry *upperdentry)
576 .dentry = upperdentry,
674 struct dentry *ovl_decode_real_fh(struct ovl_fs *ofs, struct ovl_fh *fh,
677 struct dentry *upperdentry, struct ovl_path **stackp);
678 int ovl_verify_set_fh(struct ovl_fs *ofs, struct dentry *dentry,
681 int ovl_verify_origin_xattr(struct ovl_fs *ofs, struct dentry *dentry,
682 enum ovl_xattr ox, struct dentry *real,
684 struct dentry *ovl_index_upper(struct ovl_fs *ofs, struct dentry *index,
686 int ovl_verify_index(struct ovl_fs *ofs, struct dentry *index);
688 int ovl_get_index_name(struct ovl_fs *ofs, struct dentry *origin,
690 struct dentry *ovl_get_index_fh(struct ovl_fs *ofs, struct ovl_fh *fh);
691 struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper,
692 struct dentry *origin, bool verify);
693 int ovl_path_next(int idx, struct dentry *dentry, struct path *path,
695 int ovl_verify_lowerdata(struct dentry *dentry);
696 struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
698 bool ovl_lower_positive(struct dentry *dentry);
700 static inline int ovl_verify_origin_fh(struct ovl_fs *ofs, struct dentry *upper,
706 static inline int ovl_verify_origin(struct ovl_fs *ofs, struct dentry *upper,
707 struct dentry *origin, bool set)
713 static inline int ovl_verify_upper(struct ovl_fs *ofs, struct dentry *index,
714 struct dentry *upper, bool set)
723 int ovl_check_empty_dir(struct dentry *dentry, struct list_head *list);
724 void ovl_cleanup_whiteouts(struct ovl_fs *ofs, struct dentry *upper,
730 struct vfsmount *mnt, struct dentry *dentry, int level);
746 int ovl_set_nlink_upper(struct dentry *dentry);
747 int ovl_set_nlink_lower(struct dentry *dentry);
748 unsigned int ovl_get_nlink(struct ovl_fs *ofs, struct dentry *lowerdentry,
749 struct dentry *upperdentry,
764 struct dentry *dentry, int type)
766 return do_ovl_get_acl(idmap, d_inode(dentry), type, false, false);
768 int ovl_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
789 struct dentry *upperdentry;
798 struct inode *ovl_lookup_inode(struct super_block *sb, struct dentry *real,
800 bool ovl_lookup_trap_inode(struct super_block *sb, struct dentry *dir);
801 struct inode *ovl_get_trap_inode(struct super_block *sb, struct dentry *dir);
821 void ovl_check_protattr(struct inode *inode, struct dentry *upper);
822 int ovl_set_protattr(struct inode *inode, struct dentry *upper,
835 struct dentry *dentry);
840 struct dentry *hardlink;
846 struct dentry **newdentry, umode_t mode);
847 struct dentry *ovl_create_real(struct ovl_fs *ofs,
848 struct inode *dir, struct dentry *newdentry,
850 int ovl_cleanup(struct ovl_fs *ofs, struct inode *dir, struct dentry *dentry);
851 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir);
852 struct dentry *ovl_create_temp(struct ovl_fs *ofs, struct dentry *workdir,
859 int ovl_fileattr_get(struct dentry *dentry, struct fileattr *fa);
861 struct dentry *dentry, struct fileattr *fa);
864 int ovl_copy_up(struct dentry *dentry);
865 int ovl_copy_up_with_data(struct dentry *dentry);
866 int ovl_maybe_copy_up(struct dentry *dentry, int flags);
867 int ovl_copy_xattr(struct super_block *sb, const struct path *path, struct dentry *new);
868 int ovl_set_attr(struct ovl_fs *ofs, struct dentry *upper, struct kstat *stat);
869 struct ovl_fh *ovl_encode_real_fh(struct ovl_fs *ofs, struct dentry *real,
871 struct ovl_fh *ovl_get_origin_fh(struct ovl_fs *ofs, struct dentry *origin);
873 struct dentry *upper);
891 int ovl_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
895 ssize_t ovl_listxattr(struct dentry *dentry, char *list, size_t size);