On 18/01/18 16:26, Andrew Price wrote:
On 18/01/18 16:09, Bob Peterson wrote:
----- Original Message -----
| > + __be32 lh_crc; /* crc32 of whole block with this
field 0 */
| Thinking about tools like fsck.gfs2, which will be built with the new
| header but could be looking at older structures on-disk, how would it
| know whether to treat the log header as a v1 or v2?
|
| Andy
Hi,
If lh_crc is 0, that's a pretty good indication that it's an old header.
Is it possible to get a "normal" crc value of 0? If so, we could code
another field just set to 1 to indicate the new style.
That would be my preference anyway, ideally. Or some value in the
dinode if it's not possible for a journal to contain both v1 and v2
headers.
Andy
You'll definitely see journals with both v1 and v2 headers in them, but
it should be fairly unusual due to the time it takes to wrap the
journal. It only needs one wrap after a node that supports v2 headers
has mounted the fs and it will be all v2 headers,
Steve.