Transactional file system
First Claim
1. In a computing environment, a system comprising:
- a processor; and
a computer-readable storage medium having stored thereon a plurality of service modules executable by the processor, the plurality of service modules including;
a multiple-level logging service, the multi-level logging service module including;
a lower-level file system logging mechanism for logging, in a first log, low level operations corresponding to a first file; and
a higher-level transactional file system logging mechanism for logging, in a second log, higher level information, the higher-level transactional file system logging mechanism treating the low level information of the first log as data for the second log; and
a decision-making service module for determining whether higher-level logged operations actually occurred, wherein the decision-making service module is adapted to determine that lower-level logged operations have successfully committed, wherein lower-level logged operations commit subsequent to successfully committing a related higher-level logged operation, and wherein determining that lower-level logged operations have successfully committed necessarily indicates to the decision-making service module that previous higher-level logged operations actually occurred; and
wherein the second log contains a first log sequence number identifying the higher-level operation associated with the log entry and wherein the first file has an associated second log sequence number identifying the last committed higher-level operation; and
wherein the first log sequence number being less than or equal to the second log sequence necessarily indicates that the higher-level operation associated with the first log sequence number occurred prior to the low level operation being committed.
2 Assignments
0 Petitions
Accused Products
Abstract
A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages the operations consistent with transactional behavior. The component handles namespace logging operations in a multiple-level log that facilitates logging and recovery. Page data is logged separate from the main log, with a unique signature that enables the log to determine whether a page was fully flushed to disk prior to a system crash.
-
Citations
3 Claims
-
1. In a computing environment, a system comprising:
-
a processor; and a computer-readable storage medium having stored thereon a plurality of service modules executable by the processor, the plurality of service modules including; a multiple-level logging service, the multi-level logging service module including; a lower-level file system logging mechanism for logging, in a first log, low level operations corresponding to a first file; and a higher-level transactional file system logging mechanism for logging, in a second log, higher level information, the higher-level transactional file system logging mechanism treating the low level information of the first log as data for the second log; and a decision-making service module for determining whether higher-level logged operations actually occurred, wherein the decision-making service module is adapted to determine that lower-level logged operations have successfully committed, wherein lower-level logged operations commit subsequent to successfully committing a related higher-level logged operation, and wherein determining that lower-level logged operations have successfully committed necessarily indicates to the decision-making service module that previous higher-level logged operations actually occurred; and wherein the second log contains a first log sequence number identifying the higher-level operation associated with the log entry and wherein the first file has an associated second log sequence number identifying the last committed higher-level operation; and wherein the first log sequence number being less than or equal to the second log sequence necessarily indicates that the higher-level operation associated with the first log sequence number occurred prior to the low level operation being committed. - View Dependent Claims (2, 3)
-
Specification