Re: [PATCH] design: fix computation of buffer log item bitmap size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10 Nov 2021 at 07:28, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
>
> 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 <wen.gang.wang@xxxxxxxxxx>
> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---
>  .../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



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux