diff --git a/Kernel/FileSystem/VirtualFileSystem.cpp b/Kernel/FileSystem/VirtualFileSystem.cpp index fb45580216..509cd6974f 100644 --- a/Kernel/FileSystem/VirtualFileSystem.cpp +++ b/Kernel/FileSystem/VirtualFileSystem.cpp @@ -648,7 +648,11 @@ ErrorOr VirtualFileSystem::rename(Credentials const& credentials, Custody& if (!new_custody_or_error.is_error()) { auto& new_custody = *new_custody_or_error.value(); auto& new_inode = new_custody.inode(); - // FIXME: Is this really correct? Check what other systems do. + // When the source/dest inodes are the same (in other words, + // when `old_path` and `new_path` are the same), perform a no-op + // and return success. + // Linux (`vfs_rename()`) and OpenBSD (`dorenameat()`) appear to have + // this same no-op behavior. if (&new_inode == &old_inode) return {}; if (new_parent_inode.metadata().is_sticky()) {