QUICK INITIALIZATION OF DATA REGIONS IN A DISTRIBUTED STORAGE SYSTEM
First Claim
1. A method comprising:
- flushing a received write transaction from a first memory device to a second memory device on a node in a file system based on one or more byte-ranges within a file system block;
determining if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block;
determining to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system;
if it is determined to flush the received write transaction to the recovery log and the received write transaction is the first write transaction for writing the data associated with the received write transaction to the file system block;
appending the data associated with the received write transaction in the recovery log and recording byte-ranges remaining in the file system block after writing the data associated with the write transaction to the file system block, and recording an associated particular bit value or a particular bit pattern that the remaining byte-ranges must be set to before the remaining byte-ranges are accessed or when a recovery sequence for recovering data in the recovery log executes due to a software or hardware failure;
replicating the data associated with the received write transaction as well as information regarding the remaining byte-ranges and the associated particular bit value or the particular bit pattern that must be set in another non-volatile storage layer of another node if required; and
marking the entire file system block byte-range as committed.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes flushing a write transaction based on byte-ranges within a file system block. It is determined if the write transaction is a first write transaction to the file system block and whether to flush the received write transaction to a recovery log. If it is determined to flush the write transaction to the recovery log and the received write transaction is the first write transaction: the data associated with the write transaction is appended in the recovery log and byte-ranges remaining in the file system block are recorded, and also recording an associated particular bit value or particular bit pattern that the remaining byte-ranges must be set to before the remaining byte-ranges are accessed or when a recovery sequence for recovering data in the recovery log executes due to failure. The write transaction is replicated. The entire file system block byte-range is marked as committed.
-
Citations
20 Claims
-
1. A method comprising:
-
flushing a received write transaction from a first memory device to a second memory device on a node in a file system based on one or more byte-ranges within a file system block; determining if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block; determining to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system; if it is determined to flush the received write transaction to the recovery log and the received write transaction is the first write transaction for writing the data associated with the received write transaction to the file system block; appending the data associated with the received write transaction in the recovery log and recording byte-ranges remaining in the file system block after writing the data associated with the write transaction to the file system block, and recording an associated particular bit value or a particular bit pattern that the remaining byte-ranges must be set to before the remaining byte-ranges are accessed or when a recovery sequence for recovering data in the recovery log executes due to a software or hardware failure; replicating the data associated with the received write transaction as well as information regarding the remaining byte-ranges and the associated particular bit value or the particular bit pattern that must be set in another non-volatile storage layer of another node if required; and marking the entire file system block byte-range as committed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product for quick initialization using storage and replication, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code readable/executable by a processor to:
-
flush a received write transaction from a first memory device to a second memory device on a node in a file system based on one or more byte-ranges within a file system block; determine if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block; determine to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system; if it is determined to flush the received write transaction to the recovery log and the received write transaction is the first write transaction for writing the data associated with the received write transaction to the file system block; append the data associated with the received write transaction in the recovery log and record byte-ranges remaining in the file system block after writing the data associated with the write transaction to the file system block, and recording an associated particular bit value or a particular bit pattern that the remaining byte-ranges must be set to before the remaining byte-ranges are accessed or when a recovery sequence for recovering data in the recovery log executes due to a software or hardware failure; replicate the data associated with the write transaction as well as information regarding the remaining byte-ranges and the associated particular bit value or the particular bit pattern that must be set in another non-volatile storage layer of another node if required; and mark the entire file system block byte-range as committed. - View Dependent Claims (11, 12, 13)
-
-
14. The computer program product of claim 14, further comprising:
upon node or file system failure, quiesce file system and flushing data requests from the non-volatile storage layer into the primary storage device and write the associated particular bit value or the particular bit pattern to fill in the byte-ranges of the file system block on the primary storage device as recorded in the non-volatile storage layer, and then unquiesce the file system. - View Dependent Claims (15, 16)
-
17. A system comprising:
-
a file system including a primary storage device; and a client node device coupled with a recovery log and a first memory device, the client node including a process that; flushes a received write transaction from the first memory device to the primary memory device on a node in the file system based on one or more byte-ranges for a file system block, determines if the received write transaction is a first write transaction for writing data associated with the received write transaction to the file system block, determines to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system, and if it is determined to flush the received write transaction from the recovery log;
appends the data associated with the received write transaction in the recovery log and records byte-ranges remaining in the file system block after writing the data associated with the write transaction to the file system block, and records an associated particular bit value or particular bit pattern that the remaining byte-ranges must be set to before the remaining byte-ranges are accessed or when a recovery sequence for recovering data in the recovery log executes due to a software or hardware failure, replicates the data associated with the write transaction as well as information regarding the remaining byte-ranges and the associated particular bit value or the particular bit pattern that must be set in another non-volatile storage layer of another node if required, and marks the entire file system block byte-range as committed. - View Dependent Claims (18, 19, 20)
-
Specification