Lines Matching full:connected
44 * "layer N connected" ancestor and verifying that all parents along the way are
47 * making that ancestor "layer N connected". For example:
55 * in ovl_lookup_real_ancestor() will not be able to lookup a connected overlay
56 * dentry from the connected lower dentry /a/b/c.
60 * /a/b. After copy up (and index) of /a/b, it will become "layer 2 connected"
63 * a connected overlay dentry will be accomplished.
67 * layer 1. If that improvement is made, then the check for "layer N connected"
98 * @dentry is "connected" if all ancestors up to root or a "connected" ancestor
100 * copy up a "connectable" ancestor to make it "connected". A "connected" dentry
101 * cannot become non "connected", so cache positive result in dentry flags.
103 * Return the connected origin layer or < 0 on error.
138 /* If @parent is connected or indexed we are done */ in ovl_connect_layer()
177 * (*) Decoding a connected overlay dir from real lower dentry is not always
214 * ovl_connect_layer() will try to make origin's layer "connected" by in ovl_check_encode_origin()
370 * Lookup a child overlay dentry to get a connected overlay dentry whose real
375 static struct dentry *ovl_lookup_real_one(struct dentry *connected, in ovl_lookup_real_one() argument
379 struct inode *dir = d_inode(connected); in ovl_lookup_real_one()
388 * connected overlay dir, we return -ECHILD and restart the lookup of in ovl_lookup_real_one()
389 * connected real path from the top. in ovl_lookup_real_one()
394 if (ovl_dentry_real_at(connected, layer->idx) != parent) in ovl_lookup_real_one()
409 this = lookup_one_len(name.name.name, connected, name.name.len); in ovl_lookup_real_one()
430 pr_warn_ratelimited("failed to lookup one by real (%pd2, layer=%d, connected=%pd2, err=%i)\n", in ovl_lookup_real_one()
431 real, layer->idx, connected, err); in ovl_lookup_real_one()
474 /* Get connected upper overlay dir from index */ in ovl_lookup_real_inode()
487 * connected/hashed upper parent (or up to root). in ovl_lookup_real_inode()
557 * Lookup a connected overlay dentry whose real dentry is @real.
565 struct dentry *connected; in ovl_lookup_real() local
568 connected = ovl_lookup_real_ancestor(sb, real, layer); in ovl_lookup_real()
569 if (IS_ERR(connected)) in ovl_lookup_real()
570 return connected; in ovl_lookup_real()
575 struct dentry *real_connected = ovl_dentry_real_at(connected, in ovl_lookup_real()
581 /* Find the topmost dentry not yet connected */ in ovl_lookup_real()
598 dput(connected); in ovl_lookup_real()
599 connected = dget(sb->s_root); in ovl_lookup_real()
619 this = ovl_lookup_real_one(connected, next, layer); in ovl_lookup_real()
625 * overlay rename of child away from 'connected' parent. in ovl_lookup_real()
639 dput(connected); in ovl_lookup_real()
640 connected = this; in ovl_lookup_real()
651 return connected; in ovl_lookup_real()
654 pr_warn_ratelimited("failed to lookup by real (%pd2, layer=%d, connected=%pd2, err=%i)\n", in ovl_lookup_real()
655 real, layer->idx, connected, err); in ovl_lookup_real()
656 dput(connected); in ovl_lookup_real()
684 * If real dentry is connected and hashed, get a connected overlay in ovl_get_dentry()
750 /* Then try to get a connected upper dir by index */ in ovl_lower_fh_to_d()
777 /* Get a connected non-upper dir or disconnected non-dir */ in ovl_lower_fh_to_d()
864 * ovl_fh_to_dentry() returns connected dir overlay dentries and in ovl_get_name()
874 * ovl_fh_to_dentry() returns connected dir overlay dentries, so we in ovl_get_parent()