The VDS_HEALTH enumeration defines the possible health states of the storage objects in the Virtual Disk Service Remote Protocol. The storage objects are packs, volumes, volume plexes and disks.

 typedef enum _VDS_HEALTH
   VDS_H_UNKNOWN = 0x00000000,
   VDS_H_HEALTHY = 0x00000001,
   VDS_H_REBUILDING = 0x00000002,
   VDS_H_STALE = 0x00000003,
   VDS_H_FAILING = 0x00000004,
   VDS_H_FAILED_REDUNDANCY = 0x00000006,
   VDS_H_FAILED = 0x00000008

VDS_H_UNKNOWN:  The health of the object cannot be determined.

VDS_H_HEALTHY:  The object indicates online status. If the object is a disk, the disk is not missing, dynamic disk log and configuration files are synchronized, and the disk is free of input/output errors. If the object is a LUN or volume, all plexes (mirrored, simple, spanned, and striped) and columns (RAID-5) are active. For a volume, VDS_H_HEALTHY implies no disks containing volume extents have IO errors. For a LUN, VDS_H_HEALTHY implies no drives containing LUN extents have IO errors.

VDS_H_REBUILDING:  The volume is resynchronizing all plexes, or a striped with parity (RAID-5) plex is regenerating the parity.

VDS_H_STALE:  The object configuration is stale.

VDS_H_FAILING:  The object is failing but still working. For example, a volume with failing health might produce occasional input/output errors from which it can still recover.

VDS_H_FAILING_REDUNDANCY:  One or more plexes have errors, but the object is working and all plexes are online.

VDS_H_FAILED_REDUNDANCY:  One or more plexes have failed, but at least one plex is working.

VDS_H_FAILED_REDUNDANCY_FAILING:  The last working plex is failing.

VDS_H_FAILED:  The object has failed. Any object with a failed health status also has a failed object status.