Re: [Ext2-devel] [PATCH] update ext2 documentation

Andreas Dilger (adilger@turbolinux.com)
Fri, 20 Apr 2001 12:25:49 -0600 (MDT)


Daniel writes:
> To quote Oliver Twist: "Please, Sir, I want some more". How about a
> explanation of the significance of GOOD_OLD_REV, etc. In particular, I'm
> curious why CURRENT_REV is defined as GOOD_OLD_REV and not DYNAMIC_REV.

One thing that deserves mentioning (related to your question) is the fact
that unused fields in the superblock, inode, and group descriptor table
are always initialized to zero. I believe that this has been true for
most (if not all) of ext2's lifetime.

This means that the s_rev_level field could be assumed to be rev 0 when
it was first assigned (some time between kernel 1.1.48 and 1.1.57,
according to your kernel source browser), and remained such for a
considerable time. The compat fields were added around 1.3.99 - 2.0pre6.

AFAIK, the only difference between a GOOD_OLD_REV filesystem and a
DYNAMIC_REV filesystem is:

- addition of COMPAT flags to superblock
- addition of s_inode_size to superblock (previously fixed at 128 bytes)
- addition of s_first inode to superblock (previously fixed at inode 11)

The s_inode_size and s_first inode fields are still set at the default
values to this day. Since we still have a bit of room in the inode,
and a couple of reserved inodes left, there is still no reason to change
these yet.

The superblock later grew to include the (not very critical) fields:

- addition of s_block_group_number to indicate superblock backup number
- addition of s_uuid, s_volume_name, and s_last_mounted to identify the fs

The rest of the fields are only valid in combination with a COMPAT flag.

The reason why CURRENT_REV is GOOD_OLD_REV and not DYNAMIC_REV is "none".
It isn't really used anywhere. In e2fsck, E2FSCK_CURRENT_REV is 1, and
in libext2fs EXT2_LIB_CURRENT_REV is also 1. Unless we run out of compat
flags or something, I don't see any reason why we would ever want to go
to rev 2.

Cheers, Andreas

-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/