From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: Wiki update request: source repo page Was: [PATCH] Btrfs: use i_version instead of our own sequence
Date: Fri, 13 Apr 2012 18:48:49 +0000 (UTC) [thread overview]
Message-ID: <pan.2012.04.13.18.48.48@cox.net> (raw)
In-Reply-To: 20120413131632.GG4856@carfax.org.uk
Hugo Mills posted on Fri, 13 Apr 2012 14:16:32 +0100 as excerpted:
> On Thu, Apr 12, 2012 at 10:56:00PM +0000, Duncan wrote:
>> Hugo Mills posted on Thu, 12 Apr 2012 22:55:46 +0100 as excerpted:
>> > The general advice is -- use a single-device root filesystem, or an
>> > initramfs. These are simple, supported, and will generally get good
>> > help. Any other configuration will cause you to be told to use an
>> > initramfs. So far, I've not heard any concrete reason why one
>> > shouldn't be used except "ooh, I don't understand them, and they're
>> > scary!".
>>
>> FWIW, device names appear to be reasonably stable, here. Stable enough
>> that I currently have this built into the kernel as part of my kernel
>> command line:
>
> That's all well and good for you, but my point is that in the
> general case, device names are *not* stable, and the kernel does *not*
> claim to guarantee this. If you assume that they are stable, and your
> system breaks as a result, then you get to keep both pieces. Your
> choice, but your risk as well. The recommendation for a stable reliable
> system is to run btrfs dev scan before mounting a btrfs filesystem.
BTW, I don't believe I've thanked you for the replies, yet. Thanks, and
I don't disagree with the rest.
I guess I generally agree here, too... with /generally/ stressed. But
the wiki should cover more than the default, "general" case.
Meanwhile [kernel command line] ...
>> md=3,/dev/sda6,/dev/sdb6,/dev/sdc6,/dev/sdd6 root=/dev/md3p1
> So you're doing the same thing as btrfs's "device=" mount option.
Same general thing, yes.
> Again, if this works, all well and good, but it'll break if devices move
> around, requiring the manual step. If you want to avoid that and have it
> all Just Work, use an initrd (for both MD and btrfs).
Obviously, for systems where it all moves around at every boot, this
isn't going to be a very useful alternative, I'll agree. But that's not
the case on a lot of hardware.
And the trouble with "just works" isn't when it does INDEED "just work",
but when it doesn't. In that case, the admin needs to be comfortable
enough with the system and his understanding of it to get things back
into operational condition. The more layers of unnecessary complexity
(like a shouldn't be necessary initr*) there are, the more difficult that
"grok the system well enough to be reasonably confident in one's ability
to restore it" status is to achieve, and the higher the risk of failure,
should the admin's disaster recovery skills actually be needed.
> As far as I recall, MD also requires userspace help in order to
> reassemble a device correctly, except when v0.9 superblocks are used
> (which have limitations on the set of other features they support).
I've read that is true, altho I've not tested it, I've simply gone with
0.90 superblocks, because here, the cost of 0.90 is rather low compared
to the benefits of no-userspace-required assembly from kernel commandline
and detected data.
If btrfs (or md) should lose that ability, it'd be a shame.
>> So while I'd agree that multi-device noinitr* btrfs builtin might not
>> be appropriate as a general distro-wide solution, it does seem quite
>> reasonable (here) for sysadmins familiar enough with their own systems
>> to have custom-built no-module-loading kernels in general, to be able
>> to do the same with btrfs.
>
> I disagree. You could conceivably get the kernel to scan every
> single block device it knows about as the device is discovered, but then
> the kernel would take unnecessarily long to boot (consider something
> with a stack of DVD drives -- you'd have to wait for each one to spin up
> before scanning it). If you were to restrict the set of devices scanned,
> you're putting policy into the kernel, which would get rejected pretty
> much instantly by anyone upstream.
No need to have the kernel scan everything (certainly not by default) OR
limit policy... while still retaining flexibility. Simply keep the
ability to have it specified on the kernel commandline, for systems with
a stable enough device layout that it works.
Actually, with a flexible enough bootloader, and grub2 certainly seems at
least close to that already, as with its modules it already supports both
mdraid and lvm2 as well as btrfs (and apparently zfs as well), any
scanning ability as well as site configuration and policy, could be and
already is to some degree, built into the bootloader's modules, as long
as the kernel commandline (or other similar mechanism) remains available
to handle the necessary data passed to it from the bootloader.
> I have had my initrd (for root on LVM on MD) fail precisely once in
> 8 years or so, and that was down to my upgrading some LVM tools manually
> and not rebuilding the initrd. If you stick to your distribution's
> packages (at least for boot-critical things), then I would think it
> highly unlikely you'll end up with a system that fails to boot. If you
> muck around with it manually and it breaks, then I would suggest you
> treat it as a learning experience.
Stick to a distro's packages?
How are people only running distro packages supposed to run the patches
they're asked to test on the list, talk the distro package maintainer
into including possibly one-shot debugging patches into a new general
rollout?
True, some distros are packaging and even supporting btrfs already, and
some users, their own admins, are reckless enough to dive right in,
without checking project status, or the wiki, or the list... but that can
hardly be the /target/ audience for btrfs at this point, right?
--
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:[~2012-04-13 18:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-09 15:53 [PATCH] Btrfs: use i_version instead of our own sequence Josef Bacik
2012-04-12 13:22 ` Kasatkin, Dmitry
2012-04-12 13:31 ` Josef Bacik
2012-04-12 21:41 ` Wiki update request: source repo page Was: " Duncan
2012-04-12 21:55 ` Hugo Mills
2012-04-12 22:56 ` Duncan
2012-04-13 13:16 ` Hugo Mills
2012-04-13 18:48 ` Duncan [this message]
2012-04-13 20:03 ` cwillu
2012-04-13 21:55 ` 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.2012.04.13.18.48.48@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).