cifs: fix renaming one hardlink on top of another
cifs: fix renaming one hardlink on top of another POSIX says that renaming one hardlink on top of another to the same inode is a no-op. We had the logic mostly right, but forgot to clear the return code. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
Родитель
61de800d33
Коммит
ae6884a9da
|
@ -1361,9 +1361,11 @@ int cifs_rename(struct inode *source_dir, struct dentry *source_dentry,
|
||||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||||
|
|
||||||
if (tmprc == 0 && (info_buf_source->UniqueId ==
|
if (tmprc == 0 && (info_buf_source->UniqueId ==
|
||||||
info_buf_target->UniqueId))
|
info_buf_target->UniqueId)) {
|
||||||
/* same file, POSIX says that this is a noop */
|
/* same file, POSIX says that this is a noop */
|
||||||
|
rc = 0;
|
||||||
goto cifs_rename_exit;
|
goto cifs_rename_exit;
|
||||||
|
}
|
||||||
} /* else ... BB we could add the same check for Windows by
|
} /* else ... BB we could add the same check for Windows by
|
||||||
checking the UniqueId via FILE_INTERNAL_INFO */
|
checking the UniqueId via FILE_INTERNAL_INFO */
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче