From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Duncan <1i5t5.duncan@cox.net>, <linux-btrfs@vger.kernel.org>
Subject: Re: What about storing more crc32 in the unused csum size for metadata?
Date: Mon, 12 Jan 2015 12:56:14 +0800 [thread overview]
Message-ID: <54B353EE.6090605@cn.fujitsu.com> (raw)
In-Reply-To: <pan$8d162$d4e83036$79c5caa1$f18c808@cox.net>
-------- Original Message --------
Subject: Re: What about storing more crc32 in the unused csum size for
metadata?
From: Duncan <1i5t5.duncan@cox.net>
To: <linux-btrfs@vger.kernel.org>
Date: 2015年01月12日 12:52
> Qu Wenruo posted on Mon, 12 Jan 2015 10:32:30 +0800 as excerpted:
>
>> [New layout]
>> Take leafsize as 4K for example.
>>
>> Sectors:
>> |---0---|---1---|---2---|---3---|---4---|---5---|---6---|---7---|
>> Sector 0: Csum of the leaf/node (32~4K)(not changed)
>> Sector 1: Csum of the first eighths of the leaf/node (32~512)
>> Sector 2: Csum of the second eighths of the leaf/node (512~1024)
>> ....
>> Sector 7: Csum of the last eighths of the leaf/node (3584 ~ 4096)
> OK, I've been up too long and should be sleeping, and it may be that's
> affecting my logic, but AFAICT either you're missing something obvious,
> or I am.
>
> There are eight eights, and eight "sectors", but the first one is already
> used, thus leaving seven available. You have the first eighth (ending at
> byte 512*1) in sector one (zero-based so the second sector), the second
> (ending at byte 512*2=1024) in sector two... the last (eighth) eighth
> (ending at byte 512*8=4096) in sector seven.
>
> Of eighths 3-7 in that ..., which eighth do you skip csumming, or is one
> of them a full quarter instead of an eighth?
Oh, my fault, sector 1 should contains csum for the second eighth of the
leaf/node...
Since the first eighth csum can be calculated vice verse.
Thanks,
Qu
>
> Of course if we could make them sevenths... But making it four quarters
> instead of 7/8 is perhaps more reasonable, with the remaining three
> sectors remaining unused, and if only one fails csum we still save 75% of
> the leaf/node, instead of none of it, currently.
>
> But maybe it makes complete sense as-is and I should be sleeping instead
> of trying to make sense of what is clearly not making sense to me at this
> point...
>
next prev parent reply other threads:[~2015-01-12 4:56 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 2:32 What about storing more crc32 in the unused csum size for metadata? Qu Wenruo
2015-01-12 4:52 ` Duncan
2015-01-12 4:56 ` Qu Wenruo [this message]
2015-01-12 5:23 ` Duncan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54B353EE.6090605@cn.fujitsu.com \
--to=quwenruo@cn.fujitsu.com \
--cc=1i5t5.duncan@cox.net \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).