Thread (4 messages) 4 messages, 2 authors, 2022-01-04

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help