主权项 |
1. A system for digest-based storage, comprising:
a processor communicatively coupled to a memory; a file system configured to manage files and directories; a digest-based block storage engine coupled to the file system, comprising instructions resident on the memory for execution by the processor, the instructions, when executed, causing the engine to be configured to:
generate a superblock digest when performing saving;retrieve operations initiated by the file system; andcount references to data blocks and a list of free data blocks; and a storage unit coupled to the engine and configured to store a plurality of data blocks; wherein the engine is configured to:
free blocks that have become unreferenced;operate in a perpetual log mode, an unlogged mode, and a log on demand mode, wherein the engine is configured to operate in a single one of the perpetual log mode, the unlogged mode, and the log on demand mode at a time with respect to a given volume of the file system; andselect between the unlogged mode, perpetual log mode, and log on demand mode;decrement a count of references of unlogged mode replaced digests for a replace operation in the unlogged mode;in the perpetual log mode:
maintain the count of references; andlog each superblock digest update; andin the log on demand mode:
log or unlog superblock digests based upon respective configuration of the superblock digests; andlog superblock digests upon demand and remove unlogged superblocks from the system. |