Environment
Novell OES10
Novell OES11
Novell OES2015
Situation
Error: System data error 20012(zfsFileMap.c[xxxx]). Block yyyyyyyyyyy
Resolution
A ravsui rebuild should correct this error, but WILL ALWAYS result in some data loss. There is not a good way to tell how much data will be lost without getting a metadata scan (using nssscan) of the pool and analysis by nss development. The downside of getting the metadata has to do with the time the data must be off-line. In order to get the scan, the pool MUST be placed in maintenance and MUST remain in that state (unavailable to users) until after the analysis has been completed. Depending on the pool size, speed of the server, etc., this time can be significant.
Cause
The 20012 error indicates some level of pool corruption. It is either caused by an invalid pointer in a VALID metadata block, or a valid pointer to a CORRUPTED metadata block. If this corruption is discovered during a write operation, the error message is displayed in /var/log/messages and the pool remains active. If it is discovered during a read operation, the pool is deactivated, in an effort to protect the current data.