Many journaled integrated file system operations internally use commitment control to form a single transaction from the multiple functions performed during the operations.
These journaled operations should not be considered complete unless the commitment control cycle has a Commit journal entry (Journal Code C, Type CM). Journaled operations that contain a Rollback journal entry (Journal Code C, Type RB) in the commitment control cycle are failed operations, and the journal entries within them should not be replayed or replicated.
Journaled integrated file system entries (Journal Code B) that use commitment control in this manner include:
Several integrated file system journal entries have a specific data field indicating whether the entry is a summary entry. Operations that send summary entry types will send two of the same entry types to the journal. The first entry contains a subset of the entry specific data. The second entry contains complete entry specific data and will indicate that it is a summary entry. Programs that are replicating the object or replaying the operation will generally only be interested in the summary entries.
For a create operation in a journaled directory, the B1 journal entry (Create Summary) is considered the summary entry.
Some journaled operations need to send a journal entry that is conversely related to the operation. For example, a commitment control cycle containing a B4 journal entry (Unlink) may also contain a B2 journal entry (Add Link). This type of scenario will only occur in operations that result in a Rollback journal entry (C — RB) .
This scenario may occur for two reasons: