Lines Matching refs:newdentry
141 struct dentry **newdentry, umode_t mode) in ovl_mkdir_real() argument
144 struct dentry *d, *dentry = *newdentry; in ovl_mkdir_real()
166 *newdentry = d; in ovl_mkdir_real()
172 struct dentry *newdentry, struct ovl_cattr *attr) in ovl_create_real() argument
176 if (IS_ERR(newdentry)) in ovl_create_real()
177 return newdentry; in ovl_create_real()
180 if (newdentry->d_inode) in ovl_create_real()
184 err = ovl_do_link(ofs, attr->hardlink, dir, newdentry); in ovl_create_real()
188 err = ovl_do_create(ofs, dir, newdentry, attr->mode); in ovl_create_real()
193 err = ovl_mkdir_real(ofs, dir, &newdentry, attr->mode); in ovl_create_real()
200 err = ovl_do_mknod(ofs, dir, newdentry, attr->mode, in ovl_create_real()
205 err = ovl_do_symlink(ofs, dir, newdentry, attr->link); in ovl_create_real()
212 if (!err && WARN_ON(!newdentry->d_inode)) { in ovl_create_real()
221 dput(newdentry); in ovl_create_real()
224 return newdentry; in ovl_create_real()
263 struct dentry *newdentry, bool hardlink) in ovl_instantiate() argument
266 .upperdentry = newdentry, in ovl_instantiate()
272 ovl_dentry_update_reval(dentry, newdentry, in ovl_instantiate()
294 WARN_ON(ovl_inode_real(inode) != d_inode(newdentry)); in ovl_instantiate()
295 dput(newdentry); in ovl_instantiate()
328 struct dentry *newdentry; in ovl_create_upper() local
335 newdentry = ovl_create_real(ofs, udir, in ovl_create_upper()
339 err = PTR_ERR(newdentry); in ovl_create_upper()
340 if (IS_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()
349 err = ovl_instantiate(dentry, inode, newdentry, !!attr->hardlink); in ovl_create_upper()
357 ovl_cleanup(ofs, udir, newdentry); in ovl_create_upper()
358 dput(newdentry); in ovl_create_upper()
471 struct dentry *newdentry; in ovl_create_over_whiteout() local
500 newdentry = ovl_create_temp(ofs, workdir, cattr); in ovl_create_over_whiteout()
501 err = PTR_ERR(newdentry); in ovl_create_over_whiteout()
502 if (IS_ERR(newdentry)) in ovl_create_over_whiteout()
510 newdentry->d_inode->i_mode != cattr->mode) { in ovl_create_over_whiteout()
515 inode_lock(newdentry->d_inode); in ovl_create_over_whiteout()
516 err = ovl_do_notify_change(ofs, newdentry, &attr); in ovl_create_over_whiteout()
517 inode_unlock(newdentry->d_inode); in ovl_create_over_whiteout()
522 err = ovl_set_upper_acl(ofs, newdentry, in ovl_create_over_whiteout()
527 err = ovl_set_upper_acl(ofs, newdentry, in ovl_create_over_whiteout()
534 err = ovl_set_opaque(dentry, newdentry); in ovl_create_over_whiteout()
538 err = ovl_do_rename(ofs, wdir, newdentry, udir, upper, in ovl_create_over_whiteout()
545 err = ovl_do_rename(ofs, wdir, newdentry, udir, upper, 0); in ovl_create_over_whiteout()
549 err = ovl_instantiate(dentry, inode, newdentry, hardlink); in ovl_create_over_whiteout()
551 ovl_cleanup(ofs, udir, newdentry); in ovl_create_over_whiteout()
552 dput(newdentry); in ovl_create_over_whiteout()
566 ovl_cleanup(ofs, wdir, newdentry); in ovl_create_over_whiteout()
567 dput(newdentry); in ovl_create_over_whiteout()
1088 struct dentry *newdentry; in ovl_rename() local
1205 newdentry = ovl_lookup_upper(ofs, new->d_name.name, new_upperdir, in ovl_rename()
1207 err = PTR_ERR(newdentry); in ovl_rename()
1208 if (IS_ERR(newdentry)) in ovl_rename()
1217 if (newdentry != opaquedir) in ovl_rename()
1220 if (!ovl_matches_upper(new, newdentry)) in ovl_rename()
1224 if (!d_is_negative(newdentry)) { in ovl_rename()
1225 if (!new_opaque || !ovl_is_whiteout(newdentry)) in ovl_rename()
1235 if (newdentry == trap) in ovl_rename()
1238 if (olddentry->d_inode == newdentry->d_inode) in ovl_rename()
1253 err = ovl_set_opaque_xerr(new, newdentry, -EXDEV); in ovl_rename()
1258 new_upperdir->d_inode, newdentry, flags); in ovl_rename()
1263 ovl_cleanup(ofs, old_upperdir->d_inode, newdentry); in ovl_rename()
1283 dput(newdentry); in ovl_rename()