• Home
  • Raw
  • Download

Lines Matching full:upper

232 static int ovl_set_opaque_xerr(struct dentry *dentry, struct dentry *upper,  in ovl_set_opaque_xerr()  argument
237 err = ovl_check_setxattr(dentry, upper, OVL_XATTR_OPAQUE, "y", 1, xerr); in ovl_set_opaque_xerr()
247 * Fail with -EIO when trying to create opaque dir and upper doesn't in ovl_set_opaque()
255 * Common operations required to be done after creation of file on upper.
302 /* Force lookup of new upper hardlink to find its lower */ in ovl_instantiate()
366 struct dentry *upper; in ovl_clear_empty() local
387 upper = upperpath.dentry; in ovl_clear_empty()
388 if (upper->d_parent->d_inode != udir) in ovl_clear_empty()
396 err = ovl_copy_xattr(dentry->d_sb, upper, opaquedir); in ovl_clear_empty()
410 err = ovl_do_rename(wdir, opaquedir, udir, upper, RENAME_EXCHANGE); in ovl_clear_empty()
414 ovl_cleanup_whiteouts(upper, list); in ovl_clear_empty()
415 ovl_cleanup(wdir, upper); in ovl_clear_empty()
418 /* dentry's upper doesn't match now, get rid of it */ in ovl_clear_empty()
464 struct dentry *upper; in ovl_create_over_whiteout() local
484 upper = lookup_one_len(dentry->d_name.name, upperdir, in ovl_create_over_whiteout()
486 err = PTR_ERR(upper); in ovl_create_over_whiteout()
487 if (IS_ERR(upper)) in ovl_create_over_whiteout()
491 if (d_is_negative(upper) || !IS_WHITEOUT(d_inode(upper))) in ovl_create_over_whiteout()
532 err = ovl_do_rename(wdir, newdentry, udir, upper, in ovl_create_over_whiteout()
537 ovl_cleanup(wdir, upper); in ovl_create_over_whiteout()
539 err = ovl_do_rename(wdir, newdentry, udir, upper, 0); in ovl_create_over_whiteout()
549 dput(upper); in ovl_create_over_whiteout()
737 static bool ovl_matches_upper(struct dentry *dentry, struct dentry *upper) in ovl_matches_upper() argument
739 return d_inode(ovl_dentry_upper(dentry)) == d_inode(upper); in ovl_matches_upper()
748 struct dentry *upper; in ovl_remove_and_whiteout() local
766 upper = lookup_one_len(dentry->d_name.name, upperdir, in ovl_remove_and_whiteout()
768 err = PTR_ERR(upper); in ovl_remove_and_whiteout()
769 if (IS_ERR(upper)) in ovl_remove_and_whiteout()
773 if ((opaquedir && upper != opaquedir) || in ovl_remove_and_whiteout()
775 !ovl_matches_upper(dentry, upper))) { in ovl_remove_and_whiteout()
779 err = ovl_cleanup_and_whiteout(ofs, d_inode(upperdir), upper); in ovl_remove_and_whiteout()
787 dput(upper); in ovl_remove_and_whiteout()
801 struct dentry *upper; in ovl_remove_upper() local
813 upper = lookup_one_len(dentry->d_name.name, upperdir, in ovl_remove_upper()
815 err = PTR_ERR(upper); in ovl_remove_upper()
816 if (IS_ERR(upper)) in ovl_remove_upper()
820 if ((opaquedir && upper != opaquedir) || in ovl_remove_upper()
821 (!opaquedir && !ovl_matches_upper(dentry, upper))) in ovl_remove_upper()
825 err = vfs_rmdir(dir, upper); in ovl_remove_upper()
827 err = vfs_unlink(dir, upper, NULL); in ovl_remove_upper()
839 dput(upper); in ovl_remove_upper()
883 /* No need to clean pure upper removed by vfs_rmdir() */ in ovl_do_remove()
1028 * in general as two upper hardlinks could be in different in ovl_need_absolute_redirect()
1170 * When ovl_iterate() iterates an "impure" upper dir, it will in ovl_rename()