• Home
  • Raw
  • Download

Lines Matching full:block

34 consumes an entire block group, though mke2fs tries to put it in the
63 or a block revocation list. A finished transaction always ends with a
74 will be an ext4 super block in the usual place, with a matching UUID.
75 The journal superblock will be in the next full block after the
94 Block Header
97 Every block in the journal starts with a common 12-byte header
115 - Description of what this block contains. See the jbd2_blocktype_ table
120 - The transaction ID that goes with this block.
124 The journal block type can be any one of:
133 - Descriptor. This block precedes a series of data blocks that were
136 - Block commit record. This block signifies the completion of a
143 - Block revocation records. This speeds up recovery by enabling the
146 Super Block
149 The super block for the journal is much simpler as compared to ext4's.
175 - Journal device block size.
183 - First block of log information.
195 - Block number of the start of log. Contrary to the comments, this field
221 super block at mount time.
229 - Location of dynamic super block copy. (Not used?)
287 - Journal has block revocation records. (JBD2\_FEATURE\_INCOMPAT\_REVOKE)
289 - Journal can deal with 64-bit block numbers.
295 metadata block gets its own checksum, and the block tags in the
300 v2, but the journal block tag size is fixed regardless of the size of
301 block numbers. (JBD2\_FEATURE\_INCOMPAT\_CSUM\_V3)
323 Descriptor Block
326 The descriptor block contains an array of journal block tags that
329 described by a data structure, but here is the block structure anyway.
330 Descriptor blocks consume at least 36 bytes, but use a full block:
343 - Common block header.
347 - Enough tags either to fill up the block or to describe all the data
348 blocks that follow this descriptor block.
350 Journal block tags have any of the following formats, depending on which
351 journal feature and block tag flags are set.
353 If JBD2\_FEATURE\_INCOMPAT\_CSUM\_V3 is set, the journal block tag is
368 - Lower 32-bits of the location of where the corresponding data block
378 - Upper 32-bits of the location of where the corresponding data block
384 - Checksum of the journal UUID, the sequence number, and the data block.
409 - On-disk block is escaped. The first four bytes of the data block just
412 - This block has the same UUID as previous, therefore the UUID field is
415 - The data block was deleted by the transaction. (Not used?)
417 - This is the last tag in this descriptor block.
419 If JBD2\_FEATURE\_INCOMPAT\_CSUM\_V3 is NOT set, the journal block tag
434 - Lower 32-bits of the location of where the corresponding data block
439 - Checksum of the journal UUID, the sequence number, and the data block.
449 - This next field is only present if the super block indicates support for
450 64-bit block numbers.
454 - Upper 32-bits of the location of where the corresponding data block
470 JBD2\_FEATURE\_INCOMPAT\_CSUM\_V3 are set, the end of the block is a
484 - Checksum of the journal UUID + the descriptor block, with this field set
487 Data Block
491 are written verbatim into the journal file after the descriptor block.
492 However, if the first four bytes of the block match the jbd2 magic
494 flag is set in the descriptor block tag.
496 Revocation Block
499 A revocation block is used to prevent replay of a block in an earlier
502 block is freed and re-allocated as a file data block; in this case, a
503 journal replay after the file block was written to disk will cause
506 **NOTE**: This mechanism is NOT used to express “this journal block is
507 superseded by this other journal block”, as the author (djwong)
508 mistakenly thought. Any block being added to a transaction will cause
509 the removal of all existing revocation records for that block.
513 length, but use a full block:
526 - Common block header.
530 - Number of bytes used in this block.
536 After r\_count is a linear array of block numbers that are effectively
537 revoked by this transaction. The size of each block number is 8 bytes if
538 the superblock advertises 64-bit block number support, or 4 bytes
543 block is a ``struct jbd2_journal_revoke_tail``, which has this format:
556 - Checksum of the journal UUID + revocation block
558 Commit Block
561 The commit block is a sentry that indicates that a transaction has been
562 completely written to the journal. Once this commit block reaches the
566 The commit block is described by ``struct commit_header``, which is 32
567 bytes long (but uses a full block):
580 - Common block header.
600 the entire commit block, with this field zeroed. If