ovl: don't check rename to self
This is redundant, the vfs already performed this check (and was broken,
see commit 9409e22acd
("vfs: rename: check backing inode being equal")).
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
ca4c8a3a80
commit
804032fabb
@ -826,18 +826,6 @@ static int ovl_rename(struct inode *olddir, struct dentry *old,
|
|||||||
err = -EXDEV;
|
err = -EXDEV;
|
||||||
if (!overwrite && OVL_TYPE_MERGE_OR_LOWER(new_type) && new_is_dir)
|
if (!overwrite && OVL_TYPE_MERGE_OR_LOWER(new_type) && new_is_dir)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
err = 0;
|
|
||||||
if (!OVL_TYPE_UPPER(new_type) && !OVL_TYPE_UPPER(old_type)) {
|
|
||||||
if (ovl_dentry_lower(old)->d_inode ==
|
|
||||||
ovl_dentry_lower(new)->d_inode)
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
if (OVL_TYPE_UPPER(new_type) && OVL_TYPE_UPPER(old_type)) {
|
|
||||||
if (ovl_dentry_upper(old)->d_inode ==
|
|
||||||
ovl_dentry_upper(new)->d_inode)
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (ovl_dentry_is_opaque(new))
|
if (ovl_dentry_is_opaque(new))
|
||||||
new_type = __OVL_PATH_UPPER;
|
new_type = __OVL_PATH_UPPER;
|
||||||
@ -933,6 +921,9 @@ static int ovl_rename(struct inode *olddir, struct dentry *old,
|
|||||||
if (newdentry == trap)
|
if (newdentry == trap)
|
||||||
goto out_dput;
|
goto out_dput;
|
||||||
|
|
||||||
|
if (WARN_ON(olddentry->d_inode == newdentry->d_inode))
|
||||||
|
goto out_dput;
|
||||||
|
|
||||||
if (is_dir && !old_opaque && new_opaque) {
|
if (is_dir && !old_opaque && new_opaque) {
|
||||||
err = ovl_set_opaque(olddentry);
|
err = ovl_set_opaque(olddentry);
|
||||||
if (err)
|
if (err)
|
||||||
|
Loading…
Reference in New Issue
Block a user