USABLE_FILE_MB is showing negative values in V$ASM_DISK View

[grid@ocmnode1 ~]$ asmcmd lsdg -g OCR
Inst_ID State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
2 MOUNTED NORMAL N 512 4096 1048576 12282 3143 3614 -471 0 N OCR/
1 MOUNTED NORMAL N 512 4096 1048576 12282 3143 3614 -471 0 N OCR/
SQL> select name, os_mb, failgroup from v$asm_disk where name like 'OCR%';

NAME                                OS_MB FAILGROUP
------------------------------ ---------- ------------------------------
OCRDISK1                             4094 OCRDISK1
OCRDISK2                             4094 OCRDISK2
OCRDISK3                             4094 OCRDISK3

REQUIRED_MIRROR_FREE_MB value in V$ASM_DISKGROUP indicates how much free space is required in an ASM disk group to restore redundancy after failure of an ASM disk or ASM failure group.

USABLE_FILE_MB value indicates how much space is available in an ASM disk group considering the redundancy level of the disk group.

We need 3614 MB space if a disk of Diskgroup fails. But available free space is 3143 / 3 = 1047 MB (Normal Redundancy for OCR) .
We have shortage around 3143 – 3614 = -471 MB which means Normal Redundancy can not maintained for this Diskgroup after ASM Failgroup failure.

Reason:
– 3 Disks each 4 GB results that we can use for Normal redundancy : (3 x 4 GB ) / 3 = 4 GB
– if we have a disk failure we need 4.1 Gbyte space but we only have 3.53 GM available to maintain 3-way mirror.
For this reason, Usable_file_MB is showing a negative value.

Solution:
Add disk to the Diskgroup.

ASM Calculation:
USABLE_FILE_MB = (FREE_MB – REQUIRED_MIRROR_FREE_MB) / [2|3]