Lines Matching refs:upperdentry

117 static struct ovl_fh *ovl_get_fh(struct ovl_fs *ofs, struct dentry *upperdentry,  in ovl_get_fh()  argument
123 res = ovl_getxattr_upper(ofs, upperdentry, ox, NULL, 0); in ovl_get_fh()
137 res = ovl_getxattr_upper(ofs, upperdentry, ox, fh->buf, res); in ovl_get_fh()
454 struct dentry *upperdentry, struct ovl_path **stackp) in ovl_check_origin_fh() argument
479 if (upperdentry && !ovl_upper_is_whiteout(ofs, upperdentry) && in ovl_check_origin_fh()
480 inode_wrong_type(d_inode(upperdentry), d_inode(origin)->i_mode)) in ovl_check_origin_fh()
498 upperdentry, d_inode(upperdentry)->i_mode & S_IFMT, in ovl_check_origin_fh()
504 static int ovl_check_origin(struct ovl_fs *ofs, struct dentry *upperdentry, in ovl_check_origin() argument
507 struct ovl_fh *fh = ovl_get_fh(ofs, upperdentry, OVL_XATTR_ORIGIN); in ovl_check_origin()
513 err = ovl_check_origin_fh(ofs, fh, false, upperdentry, stackp); in ovl_check_origin()
1084 struct dentry *upperdentry; member
1109 err = ovl_lookup_layer(upperdir, d, &ctx->upperdentry, true); in ovl_lookup_layers()
1113 if (ctx->upperdentry && ctx->upperdentry->d_flags & DCACHE_OP_REAL) in ovl_lookup_layers()
1116 if (ctx->upperdentry && !d->is_dir) { in ovl_lookup_layers()
1127 err = ovl_check_origin(ofs, ctx->upperdentry, &ctx->origin_path); in ovl_lookup_layers()
1179 if (ctx->upperdentry && !ctx->ctr && !ofs->noxattr && d->is_dir) { in ovl_lookup_layers()
1180 err = ovl_fix_origin(ofs, dentry, this, ctx->upperdentry); in ovl_lookup_layers()
1196 if (ctx->upperdentry && !ctx->ctr && in ovl_lookup_layers()
1199 err = ovl_verify_origin(ofs, ctx->upperdentry, this, false); in ovl_lookup_layers()
1209 if (!ctx->upperdentry && !d->is_dir && !ctx->ctr && d->metacopy) in ovl_lookup_layers()
1262 } else if (!d->is_dir && ctx->upperdentry && !ctx->ctr && ctx->origin_path) { in ovl_lookup_layers()
1292 if (!ctx->upperdentry && ctx->ctr) in ovl_lookup_layers()
1297 ctx->index = ovl_lookup_index(ofs, ctx->upperdentry, origin, true); in ovl_lookup_layers()
1319 if (ctx->upperdentry) in ovl_lookup_layers()
1324 .dentry = ctx->upperdentry = dget(ctx->index), in ovl_lookup_layers()
1350 if (ctx->upperdentry || ctx->ctr) { in ovl_lookup_layers()
1353 .upperdentry = ctx->upperdentry, in ovl_lookup_layers()
1370 if (ctx->upperdentry && !uppermetacopy) in ovl_lookup_layers()
1377 ovl_dentry_init_reval(dentry, ctx->upperdentry, OVL_I_E(ctx->inode)); in ovl_lookup_layers()
1415 dput(ctx.upperdentry); in ovl_lookup()