**Describe the situation**

The author implemented it but enabled only for DiskS3.
CC @excitoon 
}
        req.SetMultipartUpload(multipart_upload);
        auto outcome = settings->client->CompleteMultipartUpload(req);
        throwIfError(outcome);
        LOG_TRACE(log, "Multipart copy upload has completed. Src Bucket: {}, Src Key: {}, Dst Bucket: {}, Dst Key: {}, "
            "Upload_id: {}, Parts: {}", src_bucket, src_key, dst_bucket, dst_key, multipart_upload_id, part_tags.size());
    }
}
struct DiskS3::RestoreInformation
{
    UInt64 revision = LATEST_REVISION;
    String source_bucket;
    String source_path;
    bool detached = false;
};
void DiskS3::readRestoreInformation(DiskS3::RestoreInformation & restore_information)
{
    const ReadSettings read_settings;
    auto buffer = metadata_disk->readFile(RESTORE_FILE_NAME, read_settings, 512);
    buffer->next();
    try
    {
        std::map<String, String> properties;
        while (buffer->hasPendingData())
        {
            String property;
            readText(property, *buffer);
            assertChar('\n', *buffer);
            auto pos = property.find('=');
            if (pos == String::npos || pos == 0 || pos == property.length())