From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: Nicholas D Steeves <nsteeves@gmail.com>
Cc: Chris Murphy <lists@colorremedies.com>,
Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: dstat shows unexpected result for two disk RAID1
Date: Wed, 6 Apr 2016 08:02:21 -0400 [thread overview]
Message-ID: <5704FACD.9040304@gmail.com> (raw)
In-Reply-To: <CAD=QJKgrBXCXjP4vEzsGtO9oYN7LQ1titFatCYhmLbZea8_W0w@mail.gmail.com>
On 2016-04-05 23:58, Nicholas D Steeves wrote:
> On 11 March 2016 at 20:20, Chris Murphy <lists@colorremedies.com> wrote:
>> On Fri, Mar 11, 2016 at 5:10 PM, Nicholas D Steeves <nsteeves@gmail.com> wrote:
>>> P.S. Rather than parity, I mean instead of distributing into stripes, do a copy!
>>
>> raid56 by definition are parity based, so I'd say no that's confusing
>> to turn it into something it's not.
>
> I just found the Multiple Device Support diagram. I'm trying to
> figure out how hard it's going for me to get up to speed, because I've
> only ever casually and informally read about filesystems. I worry
> that because I didn't study filesystem design in school, and because
> everything I worked on was in C++...well, the level of sophistication
> and design might be beyond what I can learn. What do you think? Can
> you recommend any books on file system design that will provide what
> is necessary to understand btrfs?
While I can't personally recommend any books on filesystem design, I can
give some more general advice:
1. Make sure you have at least a basic understanding of how things work
at a high level from the user perspective. It's a lot easier to
understand the low-level stuff if you know how it all ends up fitting
together. Back when I started looking at the internals of BTRFS I was
pretty lost myself. I still am to a certain extent when it comes to the
kernel code (most of my background is in Python, Lua, or Bourne Shell,
not C, and I don't normally deal with data structures at such a low
level), but as I've used it more on my systems, a lot of stuff that
seemed cryptic at first is making a lot more sense.
2. Keep in mind that there are a number of things in BTRFS that have no
equivalent in other filesystems, or are not typical filesystem design
topics. The multi-device support for example is pretty much
non-existent as a filesystem design topic because it's traditionally
handled by lower levels like LVM.
3. The Linux VFS layer is worth taking a look at, as it handles the
translation between the low-level ABI provided by each filesystem and
the user-level API. Most of the stuff that BTRFS provides through it is
rather consistent with the user level API, but understanding what
translation goes on there can be helpful to understanding some of the
higher-level internals in BTRFS.
next prev parent reply other threads:[~2016-04-06 12:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-09 20:21 dstat shows unexpected result for two disk RAID1 Nicholas D Steeves
2016-03-09 20:25 ` Nicholas D Steeves
2016-03-09 20:50 ` Goffredo Baroncelli
2016-03-09 21:26 ` Chris Murphy
2016-03-09 22:51 ` Nicholas D Steeves
2016-03-11 23:42 ` Nicholas D Steeves
2016-03-09 21:36 ` Roman Mamedov
2016-03-09 21:43 ` Chris Murphy
2016-03-09 22:08 ` Nicholas D Steeves
2016-03-10 4:06 ` Duncan
2016-03-10 5:01 ` Chris Murphy
2016-03-10 8:10 ` Duncan
2016-03-12 0:04 ` Nicholas D Steeves
2016-03-12 0:10 ` Nicholas D Steeves
2016-03-12 1:20 ` Chris Murphy
2016-04-06 3:58 ` Nicholas D Steeves
2016-04-06 12:02 ` Austin S. Hemmelgarn [this message]
2016-04-22 22:36 ` Nicholas D Steeves
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=5704FACD.9040304@gmail.com \
--to=ahferroin7@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.com \
--cc=nsteeves@gmail.com \
/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).