Re: [PATCH] design: fix computation of buffer log item bitmap size
From: Chandan Babu R <hidden>
Date: 2021-12-23 06:06:38
On 10 Nov 2021 at 07:28, Darrick J. Wong wrote:
quoted hunk ↗ jump to hunk
From: Darrick J. Wong <djwong@kernel.org> Wengang Wang was trying to work through a buffer log item by consulting the ondisk format documentation, and was confused by the formula given in section 14.3.14 regarding the size of blf_data_map, aka the dirty bitmap for buffer log items. We noticed that the documentation doesn't match what the kernel actually does, so let's fix this. Reported-by: Wengang Wang <redacted> Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- .../journaling_log.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/design/XFS_Filesystem_Structure/journaling_log.asciidoc b/design/XFS_Filesystem_Structure/journaling_log.asciidoc index 1dba56e..894d3e5 100644 --- a/design/XFS_Filesystem_Structure/journaling_log.asciidoc +++ b/design/XFS_Filesystem_Structure/journaling_log.asciidoc@@ -992,7 +992,7 @@ The size of +blf_data_map+, in 32-bit words. This variable-sized array acts as a dirty bitmap for the logged buffer. Each 1 bit represents a dirty region in the buffer, and each run of 1 bits corresponds to a subsequent log item containing the new contents of the buffer -area. Each bit represents +(blf_len * 512) / (blf_map_size * NBBY)+ bytes. +area. Each bit represents +(blf_len * 512) / (blf_map_size * sizeof(unsigned int) * NBBY)+ bytes. [[Buffer_Data_Log_Item]] === Buffer Data Log Item
The calculation looks correct. However, wouldn't it be better to mention, "Each bit represents XFS_BLF_CHUNK (i.e. 128) bytes" ... or some such variant involving XFS_BLF_CHUNK. -- chandan