On Apr 21, 2014, at 3:09 PM, Duncan <[email protected]> wrote:

> Adam Brenner posted on Sun, 20 Apr 2014 21:56:10 -0700 as excerpted:
> 
>> So ... BTRFS at this point in time, does not actually "stripe" the data
>> across N number of devices/blocks for aggregated performance increase
>> (both read and write)?
> 
> What Chris says is correct, but just in case it's unclear as written, let 
> me try a reworded version, perhaps addressing a few uncaught details in 
> the process.

Another likely problem is terminology. It's 2014 and still we don't have 
consistency in basic RAID terminology. We're functionally in the 19th century 
uncoordinated disagreement of weights and measures, except maybe worse because 
we sometimes have multiple words that mean the same thing; as if there were 
multiple words for the term gram or meter. It's just nonsensical and selfish 
that this continues to persist across various file system projects.

It's not immediately obvious to the btrfs newcomer that the md raid chunk isn't 
the same thing as the btrfs chunk, for example.

And strip, chunk, stripe unit, and stripe size get used interchangeably to mean 
the same thing, while just as often stripe size means something different. The 
best definition I've found so far is IBM's stripe unit definition: "granularity 
at which data is stored on one drive of the array before subsequent data is 
stored on the next drive of the array" which is in bytes. So that's the 
smallest raid unit we find on a drive, therefore it is a base unit in RAID, and 
yet we have no agreement on what word to use.

And it's not really like the storage industry trade association, SNIA, who 
published a dictionary of terms in 2013, really helps in this area. I'll argue 
they make it worse because they deprecate the term chunk, in favor of the terms 
strip and stripe element. NO kidding, two terms mean the same thing. Yet strip 
and stripe are NOT the same thing.

strip = stripe element
stripe = set of strips
strip size = stripe depth
stripe size = strip size * extents not including parity extents

Also the units are in blocks (sectors, not fs blocks and not bytes). The terms 
stripe unit, stripe width, and stride aren't found in the SNIA dictionary at 
all although they are found as terms in other file system projects.

So no matter how we look at it, everyone else is doing it wrong.



Chris Murphy--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to