Lines Matching refs:upper
234 static int ovl_set_opaque_xerr(struct dentry *dentry, struct dentry *upper, in ovl_set_opaque_xerr() argument
240 err = ovl_check_setxattr(ofs, upper, OVL_XATTR_OPAQUE, "y", 1, xerr); in ovl_set_opaque_xerr()
371 struct dentry *upper; in ovl_clear_empty() local
392 upper = upperpath.dentry; in ovl_clear_empty()
393 if (upper->d_parent->d_inode != udir) in ovl_clear_empty()
415 err = ovl_do_rename(ofs, wdir, opaquedir, udir, upper, RENAME_EXCHANGE); in ovl_clear_empty()
419 ovl_cleanup_whiteouts(ofs, upper, list); in ovl_clear_empty()
420 ovl_cleanup(ofs, wdir, upper); in ovl_clear_empty()
454 struct dentry *upper; in ovl_create_over_whiteout() local
474 upper = ovl_lookup_upper(ofs, dentry->d_name.name, upperdir, in ovl_create_over_whiteout()
476 err = PTR_ERR(upper); in ovl_create_over_whiteout()
477 if (IS_ERR(upper)) in ovl_create_over_whiteout()
481 if (d_is_negative(upper) || !IS_WHITEOUT(d_inode(upper))) in ovl_create_over_whiteout()
522 err = ovl_do_rename(ofs, wdir, newdentry, udir, upper, in ovl_create_over_whiteout()
527 ovl_cleanup(ofs, wdir, upper); in ovl_create_over_whiteout()
529 err = ovl_do_rename(ofs, wdir, newdentry, udir, upper, 0); in ovl_create_over_whiteout()
539 dput(upper); in ovl_create_over_whiteout()
742 static bool ovl_matches_upper(struct dentry *dentry, struct dentry *upper) in ovl_matches_upper() argument
744 return d_inode(ovl_dentry_upper(dentry)) == d_inode(upper); in ovl_matches_upper()
753 struct dentry *upper; in ovl_remove_and_whiteout() local
771 upper = ovl_lookup_upper(ofs, dentry->d_name.name, upperdir, in ovl_remove_and_whiteout()
773 err = PTR_ERR(upper); in ovl_remove_and_whiteout()
774 if (IS_ERR(upper)) in ovl_remove_and_whiteout()
778 if ((opaquedir && upper != opaquedir) || in ovl_remove_and_whiteout()
780 !ovl_matches_upper(dentry, upper))) { in ovl_remove_and_whiteout()
784 err = ovl_cleanup_and_whiteout(ofs, d_inode(upperdir), upper); in ovl_remove_and_whiteout()
792 dput(upper); in ovl_remove_and_whiteout()
807 struct dentry *upper; in ovl_remove_upper() local
819 upper = ovl_lookup_upper(ofs, dentry->d_name.name, upperdir, in ovl_remove_upper()
821 err = PTR_ERR(upper); in ovl_remove_upper()
822 if (IS_ERR(upper)) in ovl_remove_upper()
826 if ((opaquedir && upper != opaquedir) || in ovl_remove_upper()
827 (!opaquedir && !ovl_matches_upper(dentry, upper))) in ovl_remove_upper()
831 err = ovl_do_rmdir(ofs, dir, upper); in ovl_remove_upper()
833 err = ovl_do_unlink(ofs, dir, upper); in ovl_remove_upper()
845 dput(upper); in ovl_remove_upper()