**Describe the situation**

The author implemented it but enabled only for DiskS3.
CC @excitoon 
{
    auto settings = current_settings.get();
    moveFile(from_path, to_path, settings->send_metadata);
}
void DiskS3::moveFile(const String & from_path, const String & to_path, bool send_metadata)
{
    if (exists(to_path))
        throw Exception("File already exists: " + to_path, ErrorCodes::FILE_ALREADY_EXISTS);
    if (send_metadata)
    {
        auto revision = ++revision_counter;
        const ObjectMetadata object_metadata {
            {"from_path", from_path},
            {"to_path", to_path}
        };
        createFileOperationObject("rename", revision, object_metadata);
    }
    metadata_disk->moveFile(from_path, to_path);
}
std::unique_ptr<ReadBufferFromFileBase> DiskS3::readFile(const String & path, const ReadSettings & read_settings, std::optional<size_t>, std::optional<size_t>) const