Lines Matching refs:upper
173 * upper file handle could become stale when upper file is
473 is_upper ? "upper" : "origin", real,
478 /* Get upper dentry from index */
482 struct dentry *upper;
491 upper = ovl_decode_real_fh(fh, ovl_upper_mnt(ofs), true);
494 if (IS_ERR_OR_NULL(upper))
495 return upper ?: ERR_PTR(-ESTALE);
497 if (!d_is_dir(upper)) {
498 pr_warn_ratelimited("invalid index upper (%pd2, upper=%pd2).\n",
499 index, upper);
500 dput(upper);
504 return upper;
518 struct dentry *upper = NULL;
558 * Directory index entries should have 'upper' xattr pointing to the
559 * real upper dir. Non-dir index entries are hardlinks to the upper
562 * decode the upper directory.
564 upper = ovl_index_upper(ofs, index);
565 if (IS_ERR_OR_NULL(upper)) {
566 err = PTR_ERR(upper);
568 * Directory index entries with no 'upper' xattr need to be
569 * removed. When dir index entry has a stale 'upper' xattr,
570 * we assume that upper dir was removed and we treat the dir
580 err = ovl_verify_fh(ofs, upper, OVL_XATTR_ORIGIN, fh);
581 dput(upper);
638 * to an inode different than the upper inode, then either the upper inode
688 struct dentry *ovl_lookup_index(struct ovl_fs *ofs, struct dentry *upper,
740 if (!upper) {
746 /* Verify that dir index 'upper' xattr points to upper dir */
747 err = ovl_verify_upper(ofs, index, upper, false);
750 pr_warn_ratelimited("suspected multiply redirected dir found (upper=%pd2, origin=%pd2, index=%pd2).\n",
751 upper, origin, index);
755 } else if (upper && d_inode(upper) != inode) {
797 struct dentry *lower, struct dentry *upper)
801 if (ovl_check_origin_xattr(ofs, upper))
808 err = ovl_set_origin(dentry, lower, upper);
810 err = ovl_set_impure(dentry->d_parent, upper->d_parent);
923 * If no origin fh is stored in upper of a merge dir, store fh
924 * of lower dir and set upper parent "impure".
974 * This is only a problem if the upper layer is untrusted (e.g
999 * For regular non-metacopy upper dentries, there is no lower
1001 * using ORIGIN xattr on upper, install it in stack.
1029 * upper inode. We only trust dir index if we verified that lower dir
1033 * For regular upper, we already set origin if upper had ORIGIN
1037 * For metacopy upper, we set a verified origin already if index
1038 * is enabled and if upper had an ORIGIN xattr.
1149 /* Negative upper -> positive lower */
1154 /* Positive upper -> have to look up lower to see whether it exists */