Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

NAME

       struct  journal_s  - The journal_s type is the concrete type associated
       with

SYNOPSIS

       struct journal_s {
         unsigned long j_flags;
         int j_errno;
         struct buffer_head * j_sb_buffer;
         journal_superblock_t * j_superblock;
         int j_format_version;
         spinlock_t j_state_lock;
         int j_barrier_count;
         struct semaphore j_barrier;
         transaction_t * j_running_transaction;
         transaction_t * j_committing_transaction;
         transaction_t * j_checkpoint_transactions;
         wait_queue_head_t j_wait_transaction_locked;
         wait_queue_head_t j_wait_logspace;
         wait_queue_head_t j_wait_done_commit;
         wait_queue_head_t j_wait_checkpoint;
         wait_queue_head_t j_wait_commit;
         wait_queue_head_t j_wait_updates;
         struct semaphore j_checkpoint_sem;
         unsigned long j_head;
         unsigned long j_tail;
         unsigned long j_free;
         unsigned long j_first;
         unsigned long j_last;
         struct block_device * j_dev;
         int j_blocksize;
         unsigned int j_blk_offset;
         struct block_device * j_fs_dev;
         unsigned int j_maxlen;
         spinlock_t j_list_lock;
         struct inode * j_inode;
         tid_t j_tail_sequence;
         tid_t j_transaction_sequence;
         tid_t j_commit_sequence;
         tid_t j_commit_request;
         __u8 j_uuid[16];
         struct task_struct * j_task;
         int j_max_transaction_buffers;
         unsigned long j_commit_interval;
         struct timer_list * j_commit_timer;
         spinlock_t j_revoke_lock;
         struct jbd_revoke_table_s * j_revoke;
         struct jbd_revoke_table_s * j_revoke_table[2];
         struct buffer_head ** j_wbuf;
         int j_wbufsize;
         void * j_private;
       };

MEMBERS

       j_flags
              General journaling state flags

       j_errno
              Is there an outstanding uncleared error on the journal  (from  a
              prior abort)?

       j_sb_buffer
              First part of superblock buffer

       j_superblock
              Second part of superblock buffer

       j_format_version
              Version of the superblock format

       j_state_lock
              Protect the various scalars in the journal

       j_barrier_count
              Number of processes waiting to create a barrier lock

       j_barrier
              The barrier lock itself

       j_running_transaction
              The current running transaction..

       j_committing_transaction
              the transaction we are pushing to disk

       j_checkpoint_transactions
              a   linked   circular  list  of  all  transactions  waiting  for
              checkpointing

       j_wait_transaction_locked
              Wait queue  for  waiting  for  a  locked  transaction  to  start
              committing, or for a barrier lock to be released

       j_wait_logspace
              Wait queue for waiting for checkpointing to complete

       j_wait_done_commit
              Wait queue for waiting for commit to complete

       j_wait_checkpoint
              Wait queue to trigger checkpointing

       j_wait_commit
              Wait queue to trigger commit

       j_wait_updates
              Wait queue to wait for updates to complete

       j_checkpoint_sem
              Semaphore for locking against concurrent checkpoints

       j_head Journal head - identifies the first unused block in the journal

       j_tail Journal  tail  -  identifies  the oldest still-used block in the
              journal.

       j_free Journal free - how many free blocks are there in the journal?

       j_first
              The block number of the first usable block

       j_last The block number one beyond the last usable block

       j_dev  Device where we store the journal

       j_blocksize
              blocksize for the location where we store the journal.

       j_blk_offset
              starting block offset for into the device  where  we  store  the
              journal

       j_fs_dev
              Device which holds the client fs. For internal journal this will
              be equal to j_dev

       j_maxlen
              Total maximum capacity of the journal region on disk.

       j_list_lock
              Protects the buffer lists and internal buffer state.

       j_inode
              Optional inode where we  store  the  journal.  If  present,  all
              journal block numbers are mapped into this inode via bmap.

       j_tail_sequence
              Sequence number of the oldest transaction in the log

       j_transaction_sequence
              Sequence number of the next transaction to grant

       j_commit_sequence
              Sequence number of the most recently committed transaction

       j_commit_request
              Sequence number of the most recent transaction wanting commit

       j_uuid[16]
              Uuid of client object.

       j_task Pointer to the current commit thread for this journal

       j_max_transaction_buffers
              Maximum number of metadata buffers to allow in a single compound
              commit transaction

       j_commit_interval
              What is the maximum  transaction  lifetime  before  we  begin  a
              commit?

       j_commit_timer
              The timer used to wakeup the commit thread

       j_revoke_lock
              Protect the revoke table

       j_revoke
              The  revoke  table - maintains the list of revoked blocks in the
              current transaction.

       j_revoke_table[2]
              alternate revoke tables for j_revoke

       j_wbuf array of buffer_heads for journal_commit_transaction

       j_wbufsize
              maximum number of buffer_heads allowed  in  j_wbuf,  the  number
              that will fit in j_blocksize

       j_private
              An opaque pointer to fs-private information.

DESCRIPTION

       journal_t.

AUTHORS

       Roger   Gammans   <rgammans@computer-surgery.co.uk>,   Stephen  Tweedie
       <sct@redhat.com>.