A method for recovering application specific data corresponding to an application, the method comprising: an act of determining that a particular application-specific data container of an application is to be subject to recovery from a snapshot; in response to the act of determining, an act of initiating recovery of a prior state of content of the application-specific data container from a prior snapshot by beginning to copy a prior version of the content from the snapshot to the application-specific data container in an operational volume accessible by the application, wherein a range lock is taken for a region of the application-specific data container prior to that region being recovered; while the content of the application-specific data container is still being copied from the snapshot to the application-specific data container, an act of permitting the application to perform read and write operations on the application-specific data container, wherein if a range lock has been taken for a region to be recovered, and said region contains the memory location being read from or written to, the respective read and write operations are pended to be resumed later; and further comprising: after the act of permitting the application to perform read and write operations on the application-specific container, but before the recovery is complete, an act of detecting that the application issued a read request for an address region of content from the application-specific data container, or that the application issued a write request to an address region of the application-specific data container, wherein, when a read or a write request is issued, a range lock is taken for said address region addressed by the read or write request; after the act of detecting, an act of pausing (312, 322) the recovery for said address region; an act of performing (313, 323) the read or write operation, respectively; after the act of performing the read or write operation, an act of releasing the range lock for said address region addressed by the read or write request; and an act of resuming (314, 324) the recovery for said address region; and once the region is recovered, releasing the range lock for that region. an act of determining that a particular application-specific data container of an application is to be subject to recovery from a snapshot; in response to the act of determining, an act of initiating recovery of a prior state of content of the application-specific data container from a prior snapshot by beginning to copy a prior version of the content from the snapshot to the application-specific data container in an operational volume accessible by the application, wherein a range lock is taken for a region of the application-specific data container prior to that region being recovered; while the content of the application-specific data container is still being copied from the snapshot to the application-specific data container, an act of permitting the application to perform read and write operations on the application-specific data container, wherein if a range lock has been taken for a region to be recovered, and said region contains the memory location being read from or written to, the respective read and write operations are pended to be resumed later; and further comprising: after the act of permitting the application to perform read and write operations on the application-specific container, but before the recovery is complete, an act of detecting that the application issued a read request for an address region of content from the application-specific data container, or that the application issued a write request to an address region of the application-specific data container, wherein, when a read or a write request is issued, a range lock is taken for said address region addressed by the read or write request; after the act of detecting, an act of pausing (312, 322) the recovery for said address region; an act of performing (313, 323) the read or write operation, respectively; after the act of performing the read or write operation, an act of releasing the range lock for said address region addressed by the read or write request; and an act of resuming (314, 324) the recovery for said address region; and once the region is recovered, releasing the range lock for that region. after the act of permitting the application to perform read and write operations on the application-specific container, but before the recovery is complete, an act of detecting that the application issued a read request for an address region of content from the application-specific data container, or that the application issued a write request to an address region of the application-specific data container, wherein, when a read or a write request is issued, a range lock is taken for said address region addressed by the read or write request; after the act of detecting, an act of pausing (312, 322) the recovery for said address region; an act of performing (313, 323) the read or write operation, respectively; after the act of performing the read or write operation, an act of releasing the range lock for said address region addressed by the read or write request; and an act of resuming (314, 324) the recovery for said address region; and once the region is recovered, releasing the range lock for that region.