From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: Btrfs and integration with GNU ++
Date: Mon, 18 May 2015 06:41:09 +0000 (UTC) [thread overview]
Message-ID: <pan$87dbc$361c1d30$d0fc2fb2$5646ab5d@cox.net> (raw)
In-Reply-To: 1761734734.45679.1431891207641.JavaMail.zimbra@karlsbakk.net
Roy Sigurd Karlsbakk posted on Sun, 17 May 2015 21:33:27 +0200 as
excerpted:
> Hi all
>
> First of all, thanks for the good work. I first started looking into
> btrfs some six years back, and things are a lot better now. I just
> wonder about a few things…
>
> For btrfs to be accepted as a primary filesystem in major distros, I'd
> think it should integrate with existing tools.
Well, fortunately or unfortunately, btrfs is already being accepted as a
primary fs in major distros.
That despite the fact that it isn't entirely mature yet, and the
sysadmin's law about backups (if you don't have a backup, by definition
you value your time and hassle saved in not making it over your data,
despite any claims to the contrary; if it isn't current, you value the
time and hassle of keeping current backups more than the loss of the data
between the time of the backup and now, and a would-be backup isn't a
backup until it is tested workable/restorable from the tools you'd have
if the filesystem(s) it's backing up failed) applies double to btrfs
because it is /not/ fully mature yet. Yet major distros are making it
the default without warning people about this, and for people such as
ordinary desktop users that may not be aware of such cardinal sysadmin's
rules.
> Currently, df seems to show good data, while du doesn't.
There has been some work put into what df returns to make it so, while
similar work to du has not yet been released, and in fact only quite
recently (within the last month) has been proposed on the list.
Maturity of the filesystem, again...
> I've been working with ZFS for some
> time, and there du will show data on disk and du --apparent-size will
> show how much apparently is on disk according to file sizes. I beleive
> this only acconuts for compression (not dedup, which I don't use), but
> still it's neat. Also, lsblk works well with md, showing which md device
> each device belongs to, while in btrfs land, it only shows the device
> from /proc/mounts that appear to be mounted. Again, mount should IMHO
> show btrfs information and not just the some device in the btrfs
> filesystem.
>
> Lastly - I just did a small test on a 6 drive RAID-6, turned on
> compression and started cat /proc/zero > testfile - let this run until
> the filesize was 500GB and stopped it. Made some other test files and a
> copy of these with --reflink=auto just for kicks. rm test* and waited.
> While waiting, did a 'echo b > /proc/sysrq-trigger' and fsck started on
> bootup and took a minute or so to complete. Since the filesystem is
> rather small (6x8GB VDEVs on top of ZFS with SSD caching, kvm as
> hypervisor), I wonder how long this fsck job would take if it were on a
> system with, say, 6 4TB drives. RHEL/CentOS7 just moved to XFS to allow
> for system crashes without this hour-long fsck job, and I somewhat doubt
> that btrfs will be the chosen one if it requires the same amount of time
> as of ext4.
As Qu mentions, on-mount fsck is not needed on btrfs, as assuming no bugs
(filesystem maturity, again), due to btrfs' COW nature, commits are
atomic and the filesystem is self-consistent at every commit. Commits
occur every 30 seconds by default (it's a mount option), and there's only
a very limited journal of fsynced transactions kept since the last
commit, to be sure they are recoverable even when the filesystem crashes
between commits, that automatically replays on mount. So no on-mount fsck
needed.
In fact, btrfs-tools has shipped with a "null" fsck.btrfs for some time
now. It's shell code and thus can be easily examined. All it does for
the usual fsck -a is return without error, and if you're not running a
current version, print a complaint that it doesn't need run at all. Some
distro btrfs-tools packages don't even ship it at all.
Even if you have the full btrfs check run at startup, it's normally read-
only and won't fix a thing, unless it's given the --repair option or some
even stronger fixup option.
So if on-boot fsck took a minute to run on a btrfs, it wasn't because
anything close to current fsck.btrfs takes that long to run on its own,
it was either something the distro is doing on its own that's completely
contrary to recommendations, or it was other things happening in
parallel, delaying what is after all a simple shell script that does
nothing but return without error and that should run effectively
instantly, in human terms anyway.
--
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-05-18 6:41 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-17 19:33 Btrfs and integration with GNU ++ Roy Sigurd Karlsbakk
2015-05-18 1:32 ` Qu Wenruo
2015-05-18 6:41 ` Duncan [this message]
2015-05-18 8:57 ` Duncan
2015-05-18 9:22 ` Roy Sigurd Karlsbakk
2015-05-18 11:58 ` Austin S Hemmelgarn
2015-05-18 14:31 ` Chris Murphy
2015-05-19 17:09 ` Roy Sigurd Karlsbakk
2015-05-19 18:05 ` Chris Murphy
2015-05-19 18:09 ` Chris Murphy
2015-05-19 19:41 ` Eric Sandeen
2015-05-19 20:04 ` Chris Murphy
2015-05-20 6:45 ` Duncan
2015-05-18 14:24 ` Chris Murphy
2015-05-19 7:24 ` Russell Coker
2015-05-19 11:56 ` Austin S Hemmelgarn
2015-05-19 18:02 ` Chris Murphy
2015-05-20 18:04 ` Zygo Blaxell
2015-05-20 18:02 ` David Sterba
2015-05-18 15:14 ` Eric Sandeen
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$87dbc$361c1d30$d0fc2fb2$5646ab5d@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).