Lines Matching refs:newdentry
166 struct dentry *newdentry, struct ovl_cattr *attr) in ovl_create_real() argument
171 if (IS_ERR(newdentry)) in ovl_create_real()
172 return newdentry; in ovl_create_real()
175 if (newdentry->d_inode) in ovl_create_real()
179 err = ovl_do_link(ofs, attr->hardlink, dir, newdentry); in ovl_create_real()
183 err = ovl_do_create(ofs, dir, newdentry, attr->mode); in ovl_create_real()
188 newdentry = ovl_do_mkdir(ofs, dir, newdentry, attr->mode); in ovl_create_real()
189 err = PTR_ERR_OR_ZERO(newdentry); in ovl_create_real()
196 err = ovl_do_mknod(ofs, dir, newdentry, attr->mode, in ovl_create_real()
201 err = ovl_do_symlink(ofs, dir, newdentry, attr->link); in ovl_create_real()
208 if (!err && WARN_ON(!newdentry->d_inode)) { in ovl_create_real()
217 if (!IS_ERR(newdentry)) in ovl_create_real()
218 dput(newdentry); in ovl_create_real()
221 return newdentry; in ovl_create_real()
264 struct dentry *newdentry, bool hardlink, struct file *tmpfile) in ovl_instantiate() argument
267 .upperdentry = newdentry, in ovl_instantiate()
272 ovl_dentry_init_reval(dentry, newdentry, NULL); in ovl_instantiate()
294 WARN_ON(ovl_inode_real(inode) != d_inode(newdentry)); in ovl_instantiate()
295 dput(newdentry); in ovl_instantiate()
331 struct dentry *newdentry; in ovl_create_upper() local
335 newdentry = ovl_create_real(ofs, upperdir, in ovl_create_upper()
340 if (IS_ERR(newdentry)) in ovl_create_upper()
341 return PTR_ERR(newdentry); in ovl_create_upper()
343 if (ovl_type_merge(dentry->d_parent) && d_is_dir(newdentry) && in ovl_create_upper()
346 ovl_set_opaque(dentry, newdentry); in ovl_create_upper()
350 err = ovl_instantiate(dentry, inode, newdentry, !!attr->hardlink, NULL); in ovl_create_upper()
356 ovl_cleanup(ofs, upperdir, newdentry); in ovl_create_upper()
357 dput(newdentry); in ovl_create_upper()
448 struct dentry *newdentry; in ovl_create_over_whiteout() local
473 newdentry = ovl_create_temp(ofs, workdir, cattr); in ovl_create_over_whiteout()
474 err = PTR_ERR(newdentry); in ovl_create_over_whiteout()
475 if (IS_ERR(newdentry)) in ovl_create_over_whiteout()
478 err = ovl_lock_rename_workdir(workdir, newdentry, upperdir, upper); in ovl_create_over_whiteout()
487 newdentry->d_inode->i_mode != cattr->mode) { in ovl_create_over_whiteout()
492 inode_lock(newdentry->d_inode); in ovl_create_over_whiteout()
493 err = ovl_do_notify_change(ofs, newdentry, &attr); in ovl_create_over_whiteout()
494 inode_unlock(newdentry->d_inode); in ovl_create_over_whiteout()
499 err = ovl_set_upper_acl(ofs, newdentry, in ovl_create_over_whiteout()
504 err = ovl_set_upper_acl(ofs, newdentry, in ovl_create_over_whiteout()
511 err = ovl_set_opaque(dentry, newdentry); in ovl_create_over_whiteout()
515 err = ovl_do_rename(ofs, workdir, newdentry, upperdir, upper, in ovl_create_over_whiteout()
523 err = ovl_do_rename(ofs, workdir, newdentry, upperdir, upper, 0); in ovl_create_over_whiteout()
529 err = ovl_instantiate(dentry, inode, newdentry, hardlink, NULL); in ovl_create_over_whiteout()
531 ovl_cleanup(ofs, upperdir, newdentry); in ovl_create_over_whiteout()
532 dput(newdentry); in ovl_create_over_whiteout()
546 ovl_cleanup(ofs, workdir, newdentry); in ovl_create_over_whiteout()
547 dput(newdentry); in ovl_create_over_whiteout()
1088 struct dentry *newdentry = NULL; in ovl_rename() local
1218 newdentry = de; in ovl_rename()
1226 if (newdentry != opaquedir) in ovl_rename()
1229 if (!ovl_matches_upper(new, newdentry)) in ovl_rename()
1233 if (!d_is_negative(newdentry)) { in ovl_rename()
1234 if (!new_opaque || !ovl_upper_is_whiteout(ofs, newdentry)) in ovl_rename()
1244 if (newdentry == trap) in ovl_rename()
1247 if (olddentry->d_inode == newdentry->d_inode) in ovl_rename()
1262 err = ovl_set_opaque_xerr(new, newdentry, -EXDEV); in ovl_rename()
1267 new_upperdir, newdentry, flags); in ovl_rename()
1273 ovl_cleanup(ofs, old_upperdir, newdentry); in ovl_rename()
1299 dput(newdentry); in ovl_rename()
1317 struct dentry *newdentry; in ovl_create_tmpfile() local
1346 newdentry = dget(realfile->f_path.dentry); in ovl_create_tmpfile()
1347 err = ovl_instantiate(dentry, inode, newdentry, false, file); in ovl_create_tmpfile()
1351 dput(newdentry); in ovl_create_tmpfile()