When disk name is not specified, it should use the default disk.
They should return max UInt64 for "infinite" virtual filesystems.

**Use case**

ClickHouse cloud.
{
        return false;
    }
    explicit FilesystemImpl(std::filesystem::space_info spaceinfo_) : spaceinfo(spaceinfo_) { }
    String getName() const override { return name; }
    size_t getNumberOfArguments() const override { return 0; }
    bool isDeterministic() const override { return false; }
    DataTypePtr getReturnTypeImpl(const DataTypes & ) const override
    {
        return std::make_shared<DataTypeUInt64>();
    }
    ColumnPtr executeImpl(const ColumnsWithTypeAndName &, const DataTypePtr &, size_t input_rows_count) const override
    {
        return DataTypeUInt64().createColumnConst(input_rows_count, static_cast<UInt64>(Impl::get(spaceinfo)));
    }
private:
    std::filesystem::space_info spaceinfo;
};
}
REGISTER_FUNCTION(Filesystem)
{
    factory.registerFunction<FilesystemImpl<FilesystemAvailable>>();
    factory.registerFunction<FilesystemImpl<FilesystemCapacity>>();
    factory.registerFunction<FilesystemImpl<FilesystemFree>>();
}
}