JOURNAL_S

Section: (9)
Updated: 17 July 2003
Index Return to Main Contents

 

NAME

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

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;
  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;
  struct semaphore j_sem;
  unsigned long  j_head;
  unsigned long  j_tail;
  unsigned long  j_free;
  unsigned long  j_first, 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;
  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;
  struct task_struct * j_task;
  int j_max_transaction_buffers;
  unsigned long  j_commit_interval;
  struct timer_list * j_commit_timer;
  int j_commit_timer_active;
  struct list_head j_all_journals;
  struct jbd_revoke_table_s * j_revoke;
};  
 

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_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_sem
The main journal lock, used by lock_journal
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_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_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
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_commit_timer_active
Timer flag
j_all_journals
Link all journals together - system-wide
j_revoke
The revoke table - maintains the list of revoked blocks in the current transaction.
 

ABOUT THIS DOCUMENT

This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

For more details see the file COPYING in the source distribution of Linux.

If you have comments on the formatting of this manpage, then please contact Michael Still (mikal@stillhq.com).

This documentation was generated with kernel version 2.5.72.


 

Index

NAME
SYNOPSIS
MEMBERS
ABOUT THIS DOCUMENT

This document was created by man2html, using the manual pages.
Time: 02:50:00 GMT, July 17, 2003