On Mon, May 21, 2018 at 01:19:25PM +0800, Qu Wenruo wrote:
> Although it's not that complex, but such comment could still save
> several minutes for newer reader/reviewer.
> 
> Signed-off-by: Qu Wenruo <w...@suse.com>
> ---
>  fs/btrfs/lzo.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c
> index 0667ea07f766..d0c6789ff78f 100644
> --- a/fs/btrfs/lzo.c
> +++ b/fs/btrfs/lzo.c
> @@ -17,6 +17,29 @@
>  
>  #define LZO_LEN      4
>  
> +/*
> + * Btrfs LZO compression format
> + *
> + * Regular LZO compressed data extent consists of:
> + * 1.  Header
> + *     Fixed size. LZO_LEN (4) bytes long, LE32.
> + *     Records the total size (*includes* the header) of real compressed 
> data.
> + *
> + * 2.  Segment(s)
> + *     Variable size. Includes one segment header, and then data payload.
> + *     One regular LZO compressed extent can have one or more segments.
> + *
> + * 2.1 Segment header
> + *     Fixed size. LZO_LEN (4) bytes long, LE32.
> + *     Records the total size of the segment (*excludes* the header).
> + *
> + * 2.2 Data Payload
> + *     Variable size. Size up limit should be 
> lzo1x_worst_compress(PAGE_SIZE).
> + *
> + * While for inlined LZO compressed data extent, it doesn't have Header, just
> + * *ONE* Segment.

It does have header that has the same value as the 1st segment header so
it's skipped.

There's also one catch in the format that if there's a less then 4 bytes
left to the page size, the new segment starts on the new page.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to