Efficient and Consistent Para-Virtual I/O System
Abstract
Embodiments of the invention relate to a para-virtual I/O system. A state of a filesystem associated with a para-virtual I/O system is updated, which includes performing semantic journaling in support of the update. The semantic journaling includes writing one or more data blocks and logging metadata updates to a journal. A cache flush request is received and classified based on semantic information of the system. The classification provides an order of commands for processing the received request. The classification is converted into an order of committed writes, and the order of committed writes is processed. The processing includes enforcing the order of committed writes to provide a consistent virtual disk image.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A method comprising:
updating a state of a filesystem associated with a para-virtual I/O system, including performing semantic journaling in support of the update, the semantic journaling comprising writing one or more data blocks and logging metadata updates to a journal; receiving a cache flush request; classifying the received request based on semantic information, wherein the classification provides an order of commands for processing the received request; converting the classification into an order of committed writes; and processing the order of committed writes, including enforcing the order of committed writes, wherein the enforcement provides a consistent virtual disk image.
2 . The method of claim 1 , wherein the semantic journaling is performed in a mode selected from the group consisting of: data, ordered, and write back.
3 . The method of claim 1 , further comprising writing a commit record to the journal, and classifying the received flush request with a journal transaction commit.
4 . The method of claim 1 , wherein the semantic information comprises ordering and durability requirements to provide the consistent virtual disk image.
5 . The method of claim 1 , further comprising recovering from a crash associated with the para-virtual I/O system, including bringing the filesystem to a consistent state.
6 . The method of claim 5 , wherein the recovery from the crash further comprises replaying the journal to a most recent committed transaction, wherein the replay brings the filesystem to the consistent state.
7 . The method of claim 1 , wherein the filesystem is a guest filesystem.
8 . A computer program product for a para-virtual I/O system, the computer program product comprising a computer readable storage device having program code embodied therewith, the program code executable by a processing unit to:
update a state of a filesystem associated with the para-virtual I/O system, including program code to perform semantic journaling in support of the update, the semantic journaling comprising program code to write one or more data blocks and log metadata updates to a journal; receive a cache flush request; classify the received request based on semantic information, wherein the classification provides an order of commands for processing the received request; convert the classification into an order of committed writes; and process the order of committed writes, including enforcing the order of committed writes, wherein the enforcement provides a consistent virtual disk image.
9 . The computer program product of claim 8 , wherein the semantic journaling is performed in a mode selected from the group consisting of: data, ordered, and write back.
10 . The computer program product of claim 8 , further comprising program code to write a commit record to the journal, and classify the received flush request with a journal transaction commit.
11 . The computer program product of claim 8 , wherein the semantic information comprises ordering and durability requirements to provide the consistent virtual disk image.
12 . The computer program product of claim 8 , further comprising program code to recover from a crash associated with the para-virtual I/O system, including program code to bring the filesystem to a consistent state.
13 . The computer program product of claim 12 , wherein the recovery from the crash further comprises program code to replay the journal to a most recent committed transaction, wherein the replay brings the filesystem to the consistent state.
14 . The computer program product of claim 8 , wherein the filesystem is a guest filesystem.
15 . A system comprising:
a para-virtual I/O system comprising a processor in communication with memory, wherein the para-virtual I/O system is associated with a filesystem; a journal manager to, update a state of the filesystem, including the journal manager to perform semantic journaling in support of the update, the semantic journaling comprising the journal manager to write one or more data blocks and log metadata updates to a journal; a classifier to classify a received flush request based on semantic information, wherein the classification provides an order of commands for processing the received request; a cache manager to convert the classification into an order of committed writes, and process the order of committed writes, including enforcement of the order of committed writes, wherein the enforcement provides a consistent virtual disk image.
16 . The system of claim 13 , wherein the semantic journaling is performed in a mode selected from the group consisting of: data, ordered, and write back.
17 . The system of claim 13 , further comprising the journal manager to write a commit record to the journal, and the classifier to classify the received flush request with a journal transaction commit.
18 . The system of claim 13 , wherein the semantic information comprises ordering and durability requirements to provide the consistent virtual disk image.
19 . The system of claim 13 , further comprising the journal manager to replay the journal to a most recent committed transaction in response to a crash associated with the para-virtual I/O system, wherein the filesystem is brought to a consistent state based on the replay.
20 . The system of claim 20 , wherein the filesystem is a guest filesystem.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.