Lines Matching defs:upper

41  * Before encoding a non-upper directory file handle from real layer N, we need
53 * copied up and renamed, upper dir /a will be indexed by lower dir /a from
93 /* We can get upper/overlay path from indexed/lower dentry */
159 * encoding also after copy up. If non-pure upper is not indexed, then it was
161 * about staying consistent with pre copy up encoding and we encode an upper
162 * file handle. Overlay root dentry is a private case of non-indexed upper.
169 * Pure upper | U
170 * Non-indexed upper | U
171 * Indexed upper | L (*)
172 * Non-upper | L (*)
174 * U = upper file handle
180 * of a decodable file handle for non-upper dir.
182 * Return 0 for upper file handle, > 0 for lower file handle or < 0 on error.
189 /* Lower file handle for non-upper non-decodable */
193 /* Upper file handle for pure upper */
198 * Root is never indexed, so if there's an upper layer, encode upper for
205 * Upper decodable file handle for non-indexed upper.
213 * lower dir or under a non-indexed upper is not always possible.
220 /* Lower file handle for indexed and non-upper dir/non-dir */
232 * Check if we should encode a lower or upper file handle and maybe
239 /* Encode an upper or lower file handle */
296 struct dentry *upper = upper_alias ?: index;
305 if (d_is_dir(upper ?: lower))
312 oip.upperdentry = dget(upper);
321 dput(upper);
325 if (upper)
339 ovl_dentry_init_reval(dentry, upper, OVL_I_E(inode));
351 /* Get the upper or lower dentry in stack whose on layer @idx */
371 * dentry is @real. If @real is on upper layer, we lookup a child overlay
453 * Decoding upper dir from index is expensive, so first try to lookup
474 /* Get connected upper overlay dir from index */
476 struct dentry *upper = ovl_index_upper(ofs, index, true);
479 if (IS_ERR_OR_NULL(upper))
480 return upper;
484 * ovl_lookup_real() in upper layer. The first level call walks
486 * recursive call walks back from indexed upper to the topmost
487 * connected/hashed upper parent (or up to root).
489 this = ovl_lookup_real(sb, upper, &ofs->layers[0]);
490 dput(upper);
558 * If @real is on upper layer, we lookup a child overlay dentry with the same
661 * Get an overlay dentry from upper/lower real dentries and index.
664 struct dentry *upper,
669 const struct ovl_layer *layer = upper ? &ofs->layers[0] : lowerpath->layer;
670 struct dentry *real = upper ?: (index ?: lowerpath->dentry);
677 return ovl_obtain_alias(sb, upper, lowerpath, index);
695 struct dentry *upper;
700 upper = ovl_decode_real_fh(ofs, fh, ovl_upper_mnt(ofs), true);
701 if (IS_ERR_OR_NULL(upper))
702 return upper;
704 dentry = ovl_get_dentry(sb, upper, NULL, NULL);
705 dput(upper);
740 /* Then lookup indexed upper/whiteout by origin fh */
750 /* Then try to get a connected upper dir by index */
752 struct dentry *upper = ovl_index_upper(ofs, index, true);
754 err = PTR_ERR(upper);
755 if (IS_ERR_OR_NULL(upper))
758 dentry = ovl_get_dentry(sb, upper, NULL, NULL);
759 dput(upper);
777 /* Get a connected non-upper dir or disconnected non-dir */