other versions
- wheezy-backports 3.16.39-1+deb8u1~bpo70+1
- jessie 3.16.43-2
| STRUCT JOURNAL_S(9) | The Linux Journalling API | STRUCT JOURNAL_S(9) |
NAME¶
struct_journal_s - this 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;
spinlock_t j_state_lock;
int j_barrier_count;
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 mutex j_checkpoint_mutex;
unsigned int j_head;
unsigned int j_tail;
unsigned int j_free;
unsigned int j_first;
unsigned int 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;
tid_t j_commit_waited;
__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;
pid_t j_last_sync_writer;
u64 j_average_commit_time;
void * j_private;
};
MEMBERS¶
j_flagsGeneral 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_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_mutex
Mutex 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_commit_waited
Sequence number of the most recent transaction
someone is waiting for to 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_last_sync_writer
most recent pid which did a synchronous
write
j_average_commit_time
the average amount of time in nanoseconds it
takes to commit a transaction to the disk.
j_private
An opaque pointer to fs-private
information.
AUTHORS¶
Roger Gammans <rgammans@computer-surgery.co.uk>Author.
Stephen Tweedie <sct@redhat.com>
Author.
COPYRIGHT¶
| February 2017 | Kernel Hackers Manual 3.16 |