.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "JOURNAL_S" "9" "17 July 2003" "" ""
.SH NAME
struct journal_s \- The journal_s type is the concrete type associated with
.SH SYNOPSIS
.nf
struct journal_s {
unsigned long j_flags;
struct buffer_head * j_sb_buffer;
journal_superblock_t * j_superblock;
int j_format_version;
struct semaphore j_barrier;
/** Wait queue for waiting for a locked transaction to start committing,* or for a barrier lock to be released*/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_last;
/** Device, blocksize and starting block offset for the location where we* store the journal.*/struct block_device * j_dev;
int j_blocksize;
unsigned int j_blk_offset;
/** Device which holds the client fs. For internal journal this will be* equal to j_dev.*/struct block_device * j_fs_dev;
unsigned int j_maxlen;
struct inode * j_inode;
struct task_struct * j_task;
/** Maximum number of metadata buffers to allow in a single compound* commit transaction*/int j_max_transaction_buffers;
/** What is the maximum transaction lifetime before we begin a commit?*/unsigned long j_commit_interval;
struct timer_list * j_commit_timer;
struct jbd_revoke_table_s * j_revoke;
};
.fi
.SH "MEMBERS"
.TP
\fBj_flags\fR
General journaling state flags
.TP
\fBj_sb_buffer\fR
First part of superblock buffer
.TP
\fBj_superblock\fR
Second part of superblock buffer
.TP
\fBj_format_version\fR
Version of the superblock format
.TP
\fBj_barrier\fR
The barrier lock itself
.TP
\fBj_wait_transaction_locked\fR
Wait queue for waiting for a locked transaction
to start committing, or for a barrier lock to be released
.TP
\fBj_wait_logspace\fR
Wait queue for waiting for checkpointing to complete
.TP
\fBj_wait_done_commit\fR
Wait queue for waiting for commit to complete
.TP
\fBj_wait_checkpoint\fR
Wait queue to trigger checkpointing
.TP
\fBj_wait_commit\fR
Wait queue to trigger commit
.TP
\fBj_wait_updates\fR
Wait queue to wait for updates to complete
.TP
\fBj_checkpoint_sem\fR
Semaphore for locking against concurrent checkpoints
.TP
\fBj_last\fR
The block number one beyond the last usable block
.TP
\fBj_dev\fR
Device where we store the journal
.TP
\fBj_blocksize\fR
blocksize for the location where we store the journal.
.TP
\fBj_blk_offset\fR
starting block offset for into the device where we store the
journal
.TP
\fBj_fs_dev\fR
Device which holds the client fs. For internal journal this will
be equal to j_dev
.TP
\fBj_maxlen\fR
Total maximum capacity of the journal region on disk.
.TP
\fBj_inode\fR
Optional inode where we store the journal. If present, all journal
block numbers are mapped into this inode via \fBbmap\fR.
.TP
\fBj_task\fR
Pointer to the current commit thread for this journal
.TP
\fBj_max_transaction_buffers\fR
Maximum number of metadata buffers to allow in a
single compound commit transaction
.TP
\fBj_commit_interval\fR
What is the maximum transaction lifetime before we begin
a commit?
.TP
\fBj_commit_timer\fR
The timer used to wakeup the commit thread
.TP
\fBj_revoke\fR
The revoke table - maintains the list of revoked blocks in the
current transaction.
.SH "DESCRIPTION"
.PP
journal_t.
.SH "ABOUT THIS DOCUMENT"
.PP
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.
.PP
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.
.PP
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
.PP
For more details see the file COPYING in the source
distribution of Linux.
.PP
If you have comments on the formatting of this manpage, then please contact
Michael Still (mikal@stillhq.com).
.PP
This documentation was generated with kernel version 2.5.73.