SQLIOSim - Is Error: Unable to get disk cache info really an error?

The short answer is that it is not an error and the message should be a WARNING.

clip_image002

 

I looked at the latest, internal code base it has already been changed to a WARNING.

                           if (!DeviceIoControl (volume,

                                                              IOCTL_DISK_GET_CACHE_INFORMATION,

                                                              NULL,

                                                              0,

                                                              &m_diskCacheInfo,

                                                              sizeof (m_diskCacheInfo),

                                                              &dwBytes,

                                                              NULL) || sizeof (m_diskCacheInfo) != dwBytes)

                           {

                                  Logger(TYPE_WARN, _T(__FILE__), __LINE__, _T(__FUNCTION__), HRESULT_FROM_WIN32 (GetLastError()),

                                                       _T("Unable to get disk cache info for %s"), mountPoint);

                           }

 

 

The only place the returned value is used in the code is to display the possible cache settings in the SQLIOSim log.

       Logger(TYPE_INFO, _T(__FILE__), __LINE__, _T(__FUNCTION__), 0,

                                                       _T("DRIVE LEVEL: ")

                                                       _T("Read cache enabled = %ls, ")

                                                       _T("Write cache enabled = %ls"),

                                                       m_diskCacheInfo.ReadCacheEnabled ? L"Yes" : L"No",

                                                       m_diskCacheInfo.WriteCacheEnabled ? L"Yes" : L"No");

The SQLIOSim testing attempt will continue without any impact of this error/warning.

Bob Dorr - Principal SQL Server Escalation Engineer