US 12,298,914 B2
Multi-log checkpoint-based retirement transaction order in multi-chunk log
Rohit K Chawla, Scotch Plains, NJ (US); Morgan A Clark, South Orange, NJ (US); and Marc A De Souter, Wayne, NJ (US)
Assigned to DELL PRODUCTS L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Aug. 22, 2023, as Appl. No. 18/453,644.
Prior Publication US 2025/0068570 A1, Feb. 27, 2025
Int. Cl. G06F 7/00 (2006.01); G06F 12/12 (2016.01); G06F 16/17 (2019.01); G06F 16/18 (2019.01)
CPC G06F 12/12 (2013.01) [G06F 16/1734 (2019.01); G06F 16/1865 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor; and
at least one memory that stores executable instructions that, when executed by the at least one processor, facilitate performance of operations, comprising:
journalling a transaction log entry to log storage objects defining multiple chunks of a storage log associated with a file system, wherein the transaction log entry comprises instructions for fulfilling a transaction, and wherein the transaction defines a change to the file system;
modifying a set of memory buffers to comprise modified system metadata for updating the file system, wherein the modified system metadata is to be synchronized to persistent storage to complete the transaction;
populating a first dirty list of memory buffers with reference hints that represent the set of memory buffers that correspond to the transaction and that comprise the modified system metadata not yet synchronized to persistent storage;
assigning a marker identifying a checkpoint in the journalling to the storage log, wherein the checkpoint corresponds to the reference hints populated prior to the checkpoint;
synchronizing the modified system metadata of memory buffers that have not yet been synchronized to the persistent storage;
transitioning a subset of the reference hints, corresponding to a subset of the memory buffers of the first dirty list of memory buffers, to a second retired list of memory buffers in response to the synchronizing of the modified system metadata of the subset of the memory buffers; and
in response to the synchronizing of all of the memory buffers of the first dirty list of memory buffers, transitioning all of the reference hits from the second retired list of memory buffers to a third trash list of memory buffers.