Re: [PATCH v2] Ext4 documentation fixes.

From: Theodore Y. Ts'o
Date: Thu Aug 22 2019 - 23:18:16 EST


On Thu, Aug 15, 2019 at 09:11:51AM -0700, Ayush Ranjan wrote:
> This commit aims to fix the following issues in ext4 documentation:
> - Flexible block group docs said that the aim was to group block
> metadata together instead of block group metadata.
> - The documentation consistly uses "location" instead of "block number".
> It is easy to confuse location to be an absolute offset on disk. Added
> a line to clarify all location values are in terms of block numbers.
> - Dirent2 docs said that the rec_len field is shortened instead of the
> name_len field.
> - Typo in bg_checksum description.
> - Inode size is 160 bytes now, and hence i_extra_isize is now 32.
> - Cluster size formula was incorrect, it did not include the +10 to
> s_log_cluster_size value.
> - Typo: there were two s_wtime_hi in the superblock struct.
> - Superblock struct was outdated, added the new fields which were part
> of s_reserved earlier.
> - Multiple mount protection seems to be implemented in fs/ext4/mmp.c.
>
> Signed-off-by: Ayush Ranjan <ayushr2@xxxxxxxxxxxx>

Fixed with one minor typo fix:

> diff --git a/Documentation/filesystems/ext4/group_descr.rst
> b/Documentation/filesystems/ext4/group_descr.rst
> index 0f783ed88..feb5c613d 100644
> --- a/Documentation/filesystems/ext4/group_descr.rst
> +++ b/Documentation/filesystems/ext4/group_descr.rst
> @@ -100,7 +100,7 @@ The block group descriptor is laid out in ``struct
> ext4_group_desc``.
> - \_\_le16
> - bg\_checksum
> - Group descriptor checksum; crc16(sb\_uuid+group+desc) if the
> - RO\_COMPAT\_GDT\_CSUM feature is set, or crc32c(sb\_uuid+group\_desc) &
> + RO\_COMPAT\_GDT\_CSUM feature is set, or crc32c(sb\_uuid+group+desc) &
> 0xFFFF if the RO\_COMPAT\_METADATA\_CSUM feature is set.

The correct checksum should be "crc16(sb\_uuid+group\_desc)" or
"crc32c(sb\_uuid+group\_desc)". That is, it's previous line which
needed modification.

- Ted