The Linux Journalling API

Roger Gammans

      
     

Stephen Tweedie

      
     


Table of Contents
Overview
Details
Summary
Data Types
Structures
typedef handle_t --  The handle_t type represents a single atomic update being performed by some process.
typedef journal_t --  The journal_t maintains all of the journaling state information for a single filesystem.
struct journal_s --  The journal_s type is the concrete type associated with journal_t.
Functions
Journal Level
journal_init_inode --  creates a journal which maps to a inode.
journal_create --  Initialise the new journal file
journal_update_superblock --  Update journal sb on disk.
journal_load --  Read journal from disk.
journal_destroy --  Release a journal_t structure.
journal_check_used_features --  Check if features specified are used.
journal_check_available_features --  Check feature set in journalling layer
journal_set_features --  Mark a given journal feature in the superblock
journal_update_format --  Update on-disk journal structure.
journal_flush --  Flush journal
journal_wipe --  Wipe journal contents
journal_abort --  Shutdown the journal immediately.
journal_errno --  returns the journal's error state.
journal_clear_err --  clears the journal's error state
journal_ack_err --  Ack journal err.
journal_recover --  recovers a on-disk journal
Transasction Level
journal_start --  Obtain a new handle.
journal_try_start --  Don't block, but try and get a handle
journal_extend --  extend buffer credits.
journal_restart --  restart a handle .
journal_lock_updates --  establish a transaction barrier.
journal_unlock_updates --  release barrier
journal_get_write_access --  notify intent to modify a buffer for metadata (not data) update.
journal_get_create_access --  notify intent to use newly created bh
journal_get_undo_access --  Notify intent to modify metadata with non-rewindable consequences
journal_dirty_data --  mark a buffer as containing dirty data which needs to be flushed before we can commit the current transaction.
journal_dirty_metadata --  mark a buffer as containing dirty metadata
journal_forget --  bforget for potentially-journaled buffers.
journal_stop --  complete a transaction
journal_try_to_free_buffers --  try to free page buffers.
journal_flushpage -- 
See also