Lines Matching refs:upper
257 static int ovl_set_opaque_xerr(struct dentry *dentry, struct dentry *upper, in ovl_set_opaque_xerr() argument
263 err = ovl_check_setxattr(ofs, upper, OVL_XATTR_OPAQUE, "y", 1, xerr); in ovl_set_opaque_xerr()
392 struct dentry *upper; in ovl_clear_empty() local
409 upper = upperpath.dentry; in ovl_clear_empty()
420 err = start_renaming_two_dentries(&rd, opaquedir, upper); in ovl_clear_empty()
443 ovl_cleanup_whiteouts(ofs, upper, list); in ovl_clear_empty()
444 ovl_cleanup(ofs, workdir, upper); in ovl_clear_empty()
476 struct dentry *upper; in ovl_create_over_whiteout() local
492 upper = ovl_lookup_upper_unlocked(ofs, dentry->d_name.name, upperdir, in ovl_create_over_whiteout()
494 err = PTR_ERR(upper); in ovl_create_over_whiteout()
495 if (IS_ERR(upper)) in ovl_create_over_whiteout()
499 if (d_is_negative(upper) || !ovl_upper_is_whiteout(ofs, upper)) in ovl_create_over_whiteout()
511 err = start_renaming_two_dentries(&rd, newdentry, upper); in ovl_create_over_whiteout()
554 ovl_cleanup(ofs, workdir, upper); in ovl_create_over_whiteout()
568 dput(upper); in ovl_create_over_whiteout()
792 static bool ovl_matches_upper(struct dentry *dentry, struct dentry *upper) in ovl_matches_upper() argument
794 return d_inode(ovl_dentry_upper(dentry)) == d_inode(upper); in ovl_matches_upper()
803 struct dentry *upper; in ovl_remove_and_whiteout() local
817 upper = ovl_lookup_upper_unlocked(ofs, dentry->d_name.name, upperdir, in ovl_remove_and_whiteout()
819 err = PTR_ERR(upper); in ovl_remove_and_whiteout()
820 if (IS_ERR(upper)) in ovl_remove_and_whiteout()
824 if ((opaquedir && upper != opaquedir) || in ovl_remove_and_whiteout()
826 !ovl_matches_upper(dentry, upper))) { in ovl_remove_and_whiteout()
830 err = ovl_cleanup_and_whiteout(ofs, upperdir, upper); in ovl_remove_and_whiteout()
836 dput(upper); in ovl_remove_and_whiteout()
849 struct dentry *upper; in ovl_remove_upper() local
860 upper = ovl_start_removing_upper(ofs, upperdir, in ovl_remove_upper()
863 err = PTR_ERR(upper); in ovl_remove_upper()
864 if (IS_ERR(upper)) in ovl_remove_upper()
868 if ((opaquedir && upper != opaquedir) || in ovl_remove_upper()
869 (!opaquedir && !ovl_matches_upper(dentry, upper))) in ovl_remove_upper()
873 err = ovl_do_rmdir(ofs, dir, upper); in ovl_remove_upper()
875 err = ovl_do_unlink(ofs, dir, upper); in ovl_remove_upper()
887 end_removing(upper); in ovl_remove_upper()