From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH] improve documentation of snapshot unaware defrag
Date: Mon, 28 Dec 2015 02:51:01 +0000 (UTC) [thread overview]
Message-ID: <pan$9c20a$2f693c09$f337c417$3719992c@cox.net> (raw)
In-Reply-To: 1451263809.6320.9.camel@scientia.net
Christoph Anton Mitterer posted on Mon, 28 Dec 2015 01:50:09 +0100 as
excerpted:
> On Sun, 2015-12-27 at 07:09 +0000, Duncan wrote:
>> raid1 mode
> I wonder when that reaches my pain threshold... and I submit a patch
> that renames it "notreallyraid1" in all places ;-)
I've seen two responses to that, both correct, AFAIK.
1) Btrfs very specifically and deliberately uses *lowercase* raidN in
part to make that distinction, as the btrfs variants are chunk-level (and
designed so that at some point in the future they can be subvolume and/or
file level), not device-level (and at that future point, not necessarily
filesystem level either).
As we've seen in discussion in other threads, for raid10 in particular,
that makes a profound difference in robustness in the multi-device
failure case.
2) Regarding btrfs raid1 and raid10's current very specific two-way-
mirroring in particular, limiting to two-way-mirroring in the 3+ devices
case is well within established definitions and historic usage.
Apparently, the N-devices = N-way-mirroring usage is relatively new,
arguably first popularized by Linux mdraid, after which various hardware
raid suppliers also implemented it due to competitive pressure. But only
two-way-mirroring is required by the RAID-1 definition.
Even were that not the case, point #1, btrfs' very specific use of
*lowercase* raid1, still covers the two-way-limitation case just as well
as it covers the chunk-level case.
That said, that the limited pair-mirroring btrfs implements even in the
3+ device case still meets formal RAID-1 definitions was originally news
to me as well, however well I might now accept the fact. But once my
earlier naive assumptions were corrected, the remaining clarification
issues fell below my pain threshold.
But for those for whom it's still very close to their pain threshold, due
to the above a patch effectively doing s/raid1/notreallyraid1/g is
unlikely to be accepted. Much more likely to be accepted would be a
patch to the btrfs-balance and mkfs.btrfs manpages adding note,
preferably accounting for the raid10 situation as well, explaining that
btrfs raid (lowercase) isn't RAID (uppercase) in the the traditional
sense, that it's chunk-scope not device-scope and that this has
implications in for instance robustness in the raid10 multi-device
failure case, and that both raid1 and raid10 are (currently) limited to
two-way-mirroring.
Meanwhile, for anyone considering writing that patch, I'd also strongly
recommend that the two-way-mirroring wording is separated out, at least
onto its own lines if not a separate paragraph, so it can be cleanly
deleted and/or modified once N-way-mirroring is introduced as a feature,
without having to rewrite the chunk-level and raid10 bit as well.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2015-12-28 2:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-21 1:26 defrag vs autodefrag Donald Pearson
2015-12-21 3:22 ` Duncan
2015-12-21 8:14 ` Hugo Mills
2015-12-21 9:28 ` Filipe Manana
2015-12-22 20:16 ` Christoph Anton Mitterer
2015-12-22 20:30 ` Hugo Mills
2015-12-23 2:16 ` Duncan
2015-12-27 3:03 ` [PATCH] improve documentation of snapshot unaware defrag Christoph Anton Mitterer
2015-12-27 3:10 ` Christoph Anton Mitterer
2015-12-27 7:09 ` Duncan
2015-12-28 0:50 ` Christoph Anton Mitterer
2015-12-28 1:58 ` Hugo Mills
2015-12-28 2:07 ` Christoph Anton Mitterer
2015-12-28 9:12 ` Duncan
2015-12-28 2:51 ` Duncan [this message]
2015-12-28 3:03 ` Christoph Anton Mitterer
2015-12-28 6:12 ` 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='pan$9c20a$2f693c09$f337c417$3719992c@cox.net' \
--to=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).