Patent ID: 7210071

Claim:
A method comprising: associating an error log with an enterprise-class environment, wherein the error log records faults that are detected in a hierarchy of data storage operations in a computer system, and wherein the error log attributes a single root cause to faults in multiple data storage operations in the computer system; passing an identity of an event causing failure through a chain of failing requests until the identity of the event causing failure reaches an originator of a request for data from one or more of the hierarchy of data storage operations, wherein the chain of failing requests, which is caused by an error in a physical storage device, is promulgated through the hierarchy of data storage operations in an upward hierarchical manner from the physical storage device to the originator of the request for data; based on the identity of the event, determining, by the originator of the request for data, an error event and a storage device that must be repaired for each detected failure, wherein multiple errors, in the hierarchy of data storage operations, that are caused by a single fault are diagnosed to a single fault; adding a unique identifier to the error log, wherein the unique identifier identifies a particular event that is capable of causing an Input/Output service to fail in the hierarchy of data storage operations, and wherein the error log contains information that details a detected fault to enable service personnel to repair a root-cause of the detected fault; using the unique identifier as part of a message, to the originator of the request for data, indicating that a service must be failed due to the error, wherein the service is provided by a component in a virtualization subsystem, wherein the virtualization subsystem is a software stack that manages the hierarchy of data storage operations, wherein the hierarchy of data storage operations includes controlling a Redundant Array of Inexpensive Disks (RAID) storage device, virtualizing memory storage, flash copying of data, and caching of data; establishing a criticality order for applications that use data from the physical storage device; and in response to a fault in the physical storage device being repaired, restoring applications in order of criticality, wherein a most critical application is restored first.