**Describe the situation**

The author implemented it but enabled only for DiskS3.
CC @excitoon 
{
    auto settings = current_settings.get();
    createHardLink(src_path, dst_path, settings->send_metadata);
}
void DiskS3::createHardLink(const String & src_path, const String & dst_path, bool send_metadata)
{
    
    if (send_metadata && !dst_path.starts_with("shadow/"))
    {
        auto revision = ++revision_counter;
        const ObjectMetadata object_metadata {
            {"src_path", src_path},
            {"dst_path", dst_path}
        };
        createFileOperationObject("hardlink", revision, object_metadata);
    }
    IDiskRemote::createHardLink(src_path, dst_path);
}
void DiskS3::shutdown()
{
    auto settings = current_settings.get();
    
    
    
    
    settings->client->DisableRequestProcessing();
}
void DiskS3::createFileOperationObject(const String & operation_name, UInt64 revision, const DiskS3::ObjectMetadata & metadata)