Lines Matching refs:upper
232 static int ovl_set_opaque_xerr(struct dentry *dentry, struct dentry *upper, in ovl_set_opaque_xerr() argument
238 err = ovl_check_setxattr(ofs, upper, OVL_XATTR_OPAQUE, "y", 1, xerr); in ovl_set_opaque_xerr()
368 struct dentry *upper; in ovl_clear_empty() local
389 upper = upperpath.dentry; in ovl_clear_empty()
390 if (upper->d_parent->d_inode != udir) in ovl_clear_empty()
398 err = ovl_copy_xattr(dentry->d_sb, upper, opaquedir); in ovl_clear_empty()
412 err = ovl_do_rename(wdir, opaquedir, udir, upper, RENAME_EXCHANGE); in ovl_clear_empty()
416 ovl_cleanup_whiteouts(upper, list); in ovl_clear_empty()
417 ovl_cleanup(wdir, upper); in ovl_clear_empty()
466 struct dentry *upper; in ovl_create_over_whiteout() local
486 upper = lookup_one_len(dentry->d_name.name, upperdir, in ovl_create_over_whiteout()
488 err = PTR_ERR(upper); in ovl_create_over_whiteout()
489 if (IS_ERR(upper)) in ovl_create_over_whiteout()
493 if (d_is_negative(upper) || !IS_WHITEOUT(d_inode(upper))) in ovl_create_over_whiteout()
534 err = ovl_do_rename(wdir, newdentry, udir, upper, in ovl_create_over_whiteout()
539 ovl_cleanup(wdir, upper); in ovl_create_over_whiteout()
541 err = ovl_do_rename(wdir, newdentry, udir, upper, 0); in ovl_create_over_whiteout()
551 dput(upper); in ovl_create_over_whiteout()
757 static bool ovl_matches_upper(struct dentry *dentry, struct dentry *upper) in ovl_matches_upper() argument
759 return d_inode(ovl_dentry_upper(dentry)) == d_inode(upper); in ovl_matches_upper()
768 struct dentry *upper; in ovl_remove_and_whiteout() local
786 upper = lookup_one_len(dentry->d_name.name, upperdir, in ovl_remove_and_whiteout()
788 err = PTR_ERR(upper); in ovl_remove_and_whiteout()
789 if (IS_ERR(upper)) in ovl_remove_and_whiteout()
793 if ((opaquedir && upper != opaquedir) || in ovl_remove_and_whiteout()
795 !ovl_matches_upper(dentry, upper))) { in ovl_remove_and_whiteout()
799 err = ovl_cleanup_and_whiteout(ofs, d_inode(upperdir), upper); in ovl_remove_and_whiteout()
807 dput(upper); in ovl_remove_and_whiteout()
821 struct dentry *upper; in ovl_remove_upper() local
833 upper = lookup_one_len(dentry->d_name.name, upperdir, in ovl_remove_upper()
835 err = PTR_ERR(upper); in ovl_remove_upper()
836 if (IS_ERR(upper)) in ovl_remove_upper()
840 if ((opaquedir && upper != opaquedir) || in ovl_remove_upper()
841 (!opaquedir && !ovl_matches_upper(dentry, upper))) in ovl_remove_upper()
845 err = vfs_rmdir(&init_user_ns, dir, upper); in ovl_remove_upper()
847 err = vfs_unlink(&init_user_ns, dir, upper, NULL); in ovl_remove_upper()
859 dput(upper); in ovl_remove_upper()