Lines Matching defs:real
36 * Before encoding a non-upper directory file handle from real layer N, we need
37 * to check if it will be possible to reconnect an overlay dentry from the real
172 * (*) Decoding a connected overlay dir from real lower dentry is not always
292 * Find or instantiate an overlay dentry from real dentries and index.
353 * Lookup a child overlay dentry to get a connected overlay dentry whose real
354 * dentry is @real. If @real is on upper layer, we lookup a child overlay
355 * dentry with the same name as the real dentry. Otherwise, we need to consult
359 struct dentry *real,
368 * Lookup child overlay dentry by real name. The dir mutex protects us
370 * real has already been moved to a parent that is not under the
372 * connected real path from the top.
376 parent = dget_parent(real);
381 * We also need to take a snapshot of real dentry name to protect us
384 * pointer because we hold no lock on the real dentry.
386 take_dentry_name_snapshot(&name, real);
399 } else if (ovl_dentry_real_at(this, layer->idx) != real) {
411 pr_warn_ratelimited("failed to lookup one by real (%pd2, layer=%d, connected=%pd2, err=%i)\n",
412 real, layer->idx, connected, err);
418 struct dentry *real,
422 * Lookup an indexed or hashed overlay dentry by real inode.
425 struct dentry *real,
437 inode = ovl_lookup_inode(sb, real, !layer->idx);
449 if (!this && layer->idx && ovl_indexdir(sb) && !WARN_ON(!d_is_dir(real))) {
450 index = ovl_lookup_index(ofs, NULL, real, false);
477 if (ovl_dentry_real_at(this, layer->idx) != real) {
486 * Lookup an indexed or hashed overlay dentry, whose real dentry is an
487 * ancestor of @real.
490 struct dentry *real,
496 if (real == layer->mnt->mnt_root)
500 next = dget(real);
506 * cache or in index by real inode.
518 * If @real has been moved out of the layer root directory,
519 * we will eventully hit the real fs root. This cannot happen
538 * Lookup a connected overlay dentry whose real dentry is @real.
539 * If @real is on upper layer, we lookup a child overlay dentry with the same
540 * path the real dentry. Otherwise, we need to consult index for lookup.
543 struct dentry *real,
549 connected = ovl_lookup_real_ancestor(sb, real, layer);
559 if (real_connected == real)
563 next = dget(real);
571 * If real has been moved out of 'real_connected',
585 * If real file has been moved out of the layer root
586 * directory, we will eventully hit the real fs root.
609 * still an ancestor of 'real'. There is a good chance
615 this = ovl_lookup_real_ancestor(sb, real,
635 pr_warn_ratelimited("failed to lookup by real (%pd2, layer=%d, connected=%pd2, err=%i)\n",
636 real, layer->idx, connected, err);
642 * Get an overlay dentry from upper/lower real dentries and index.
651 struct dentry *real = upper ?: (index ?: lowerpath->dentry);
654 * Obtain a disconnected overlay dentry from a non-dir real dentry
657 if (!d_is_dir(real))
661 if ((real->d_flags & DCACHE_DISCONNECTED) || d_unhashed(real))
665 * If real dentry is connected and hashed, get a connected overlay
666 * dentry whose real dentry is @real.
668 return ovl_lookup_real(sb, real, layer);