Lines Matching refs:newdentry

140 int ovl_mkdir_real(struct inode *dir, struct dentry **newdentry, umode_t mode)  in ovl_mkdir_real()  argument
143 struct dentry *d, *dentry = *newdentry; in ovl_mkdir_real()
165 *newdentry = d; in ovl_mkdir_real()
170 struct dentry *ovl_create_real(struct inode *dir, struct dentry *newdentry, in ovl_create_real() argument
175 if (IS_ERR(newdentry)) in ovl_create_real()
176 return newdentry; in ovl_create_real()
179 if (newdentry->d_inode) in ovl_create_real()
183 err = ovl_do_link(attr->hardlink, dir, newdentry); in ovl_create_real()
187 err = ovl_do_create(dir, newdentry, attr->mode); in ovl_create_real()
192 err = ovl_mkdir_real(dir, &newdentry, attr->mode); in ovl_create_real()
199 err = ovl_do_mknod(dir, newdentry, attr->mode, in ovl_create_real()
204 err = ovl_do_symlink(dir, newdentry, attr->link); in ovl_create_real()
211 if (!err && WARN_ON(!newdentry->d_inode)) { in ovl_create_real()
220 dput(newdentry); in ovl_create_real()
223 return newdentry; in ovl_create_real()
261 struct dentry *newdentry, bool hardlink) in ovl_instantiate() argument
264 .upperdentry = newdentry, in ovl_instantiate()
270 ovl_dentry_update_reval(dentry, newdentry, in ovl_instantiate()
292 WARN_ON(ovl_inode_real(inode) != d_inode(newdentry)); in ovl_instantiate()
293 dput(newdentry); in ovl_instantiate()
326 struct dentry *newdentry; in ovl_create_upper() local
333 newdentry = ovl_create_real(udir, in ovl_create_upper()
338 err = PTR_ERR(newdentry); in ovl_create_upper()
339 if (IS_ERR(newdentry)) in ovl_create_upper()
342 if (ovl_type_merge(dentry->d_parent) && d_is_dir(newdentry) && in ovl_create_upper()
345 ovl_set_opaque(dentry, newdentry); in ovl_create_upper()
348 err = ovl_instantiate(dentry, inode, newdentry, !!attr->hardlink); in ovl_create_upper()
356 ovl_cleanup(udir, newdentry); in ovl_create_upper()
357 dput(newdentry); in ovl_create_upper()
468 struct dentry *newdentry; in ovl_create_over_whiteout() local
497 newdentry = ovl_create_temp(workdir, cattr); in ovl_create_over_whiteout()
498 err = PTR_ERR(newdentry); in ovl_create_over_whiteout()
499 if (IS_ERR(newdentry)) in ovl_create_over_whiteout()
507 newdentry->d_inode->i_mode != cattr->mode) { in ovl_create_over_whiteout()
512 inode_lock(newdentry->d_inode); in ovl_create_over_whiteout()
513 err = notify_change(&init_user_ns, newdentry, &attr, NULL); in ovl_create_over_whiteout()
514 inode_unlock(newdentry->d_inode); in ovl_create_over_whiteout()
519 err = ovl_set_upper_acl(newdentry, XATTR_NAME_POSIX_ACL_ACCESS, in ovl_create_over_whiteout()
524 err = ovl_set_upper_acl(newdentry, XATTR_NAME_POSIX_ACL_DEFAULT, in ovl_create_over_whiteout()
531 err = ovl_set_opaque(dentry, newdentry); in ovl_create_over_whiteout()
535 err = ovl_do_rename(wdir, newdentry, udir, upper, in ovl_create_over_whiteout()
542 err = ovl_do_rename(wdir, newdentry, udir, upper, 0); in ovl_create_over_whiteout()
546 err = ovl_instantiate(dentry, inode, newdentry, hardlink); in ovl_create_over_whiteout()
548 ovl_cleanup(udir, newdentry); in ovl_create_over_whiteout()
549 dput(newdentry); in ovl_create_over_whiteout()
563 ovl_cleanup(wdir, newdentry); in ovl_create_over_whiteout()
564 dput(newdentry); in ovl_create_over_whiteout()
1086 struct dentry *newdentry; in ovl_rename() local
1202 newdentry = lookup_one_len(new->d_name.name, new_upperdir, in ovl_rename()
1204 err = PTR_ERR(newdentry); in ovl_rename()
1205 if (IS_ERR(newdentry)) in ovl_rename()
1214 if (newdentry != opaquedir) in ovl_rename()
1217 if (!ovl_matches_upper(new, newdentry)) in ovl_rename()
1221 if (!d_is_negative(newdentry)) { in ovl_rename()
1222 if (!new_opaque || !ovl_is_whiteout(newdentry)) in ovl_rename()
1232 if (newdentry == trap) in ovl_rename()
1235 if (olddentry->d_inode == newdentry->d_inode) in ovl_rename()
1250 err = ovl_set_opaque_xerr(new, newdentry, -EXDEV); in ovl_rename()
1255 new_upperdir->d_inode, newdentry, flags); in ovl_rename()
1260 ovl_cleanup(old_upperdir->d_inode, newdentry); in ovl_rename()
1277 ovl_copyattr(d_inode(newdentry), d_inode(new)); in ovl_rename()
1280 dput(newdentry); in ovl_rename()