• Home
  • Raw
  • Download

Lines Matching full:real

44  * Before encoding a non-upper directory file handle from real layer N, we need
45 * to check if it will be possible to reconnect an overlay dentry from the real
179 * (*) Connecting an overlay dir from real lower dentry is not always
290 * Find or instantiate an overlay dentry from real dentries and index.
366 * Lookup a child overlay dentry to get a connected overlay dentry whose real
367 * dentry is @real. If @real is on upper layer, we lookup a child overlay
368 * dentry with the same name as the real dentry. Otherwise, we need to consult
372 struct dentry *real, in ovl_lookup_real_one() argument
381 * Lookup child overlay dentry by real name. The dir mutex protects us in ovl_lookup_real_one()
383 * real has already been moved to a parent that is not under the in ovl_lookup_real_one()
385 * connected real path from the top. in ovl_lookup_real_one()
389 parent = dget_parent(real); in ovl_lookup_real_one()
394 * We also need to take a snapshot of real dentry name to protect us in ovl_lookup_real_one()
397 * pointer because we hold no lock on the real dentry. in ovl_lookup_real_one()
399 take_dentry_name_snapshot(&name, real); in ovl_lookup_real_one()
408 } else if (ovl_dentry_real_at(this, layer->idx) != real) { in ovl_lookup_real_one()
421 …pr_warn_ratelimited("overlayfs: failed to lookup one by real (%pd2, layer=%d, connected=%pd2, err=… in ovl_lookup_real_one()
422 real, layer->idx, connected, err); in ovl_lookup_real_one()
428 struct dentry *real,
432 * Lookup an indexed or hashed overlay dentry by real inode.
435 struct dentry *real, in ovl_lookup_real_inode() argument
448 inode = ovl_lookup_inode(sb, real, !layer->idx); in ovl_lookup_real_inode()
460 if (!this && layer->idx && ofs->indexdir && !WARN_ON(!d_is_dir(real))) { in ovl_lookup_real_inode()
461 index = ovl_lookup_index(ofs, NULL, real, false); in ovl_lookup_real_inode()
488 if (ovl_dentry_real_at(this, layer->idx) != real) { in ovl_lookup_real_inode()
497 * Lookup an indexed or hashed overlay dentry, whose real dentry is an
498 * ancestor of @real.
501 struct dentry *real, in ovl_lookup_real_ancestor() argument
507 if (real == layer->mnt->mnt_root) in ovl_lookup_real_ancestor()
511 next = dget(real); in ovl_lookup_real_ancestor()
517 * cache or in index by real inode. in ovl_lookup_real_ancestor()
529 * If @real has been moved out of the layer root directory, in ovl_lookup_real_ancestor()
530 * we will eventully hit the real fs root. This cannot happen in ovl_lookup_real_ancestor()
549 * Lookup a connected overlay dentry whose real dentry is @real.
550 * If @real is on upper layer, we lookup a child overlay dentry with the same
551 * path the real dentry. Otherwise, we need to consult index for lookup.
554 struct dentry *real, in ovl_lookup_real() argument
560 connected = ovl_lookup_real_ancestor(sb, real, layer); in ovl_lookup_real()
570 if (real_connected == real) in ovl_lookup_real()
574 next = dget(real); in ovl_lookup_real()
582 * If real has been moved out of 'real_connected', in ovl_lookup_real()
596 * If real file has been moved out of the layer root in ovl_lookup_real()
597 * directory, we will eventully hit the real fs root. in ovl_lookup_real()
620 * still an ancestor of 'real'. There is a good chance in ovl_lookup_real()
626 this = ovl_lookup_real_ancestor(sb, real, in ovl_lookup_real()
646 …pr_warn_ratelimited("overlayfs: failed to lookup by real (%pd2, layer=%d, connected=%pd2, err=%i)\… in ovl_lookup_real()
647 real, layer->idx, connected, err); in ovl_lookup_real()
653 * Get an overlay dentry from upper/lower real dentries and index.
663 struct dentry *real = upper ?: (index ?: lowerpath->dentry); in ovl_get_dentry() local
666 * Obtain a disconnected overlay dentry from a non-dir real dentry in ovl_get_dentry()
669 if (!d_is_dir(real)) in ovl_get_dentry()
673 if ((real->d_flags & DCACHE_DISCONNECTED) || d_unhashed(real)) in ovl_get_dentry()
677 * If real dentry is connected and hashed, get a connected overlay in ovl_get_dentry()
678 * dentry whose real dentry is @real. in ovl_get_dentry()
680 return ovl_lookup_real(sb, real, layer); in ovl_get_dentry()