LWN: Comments on "No Btrfs by default in Fedora 16" https://lwn.net/Articles/454347/ This is a special feed containing comments posted to the individual LWN article titled "No Btrfs by default in Fedora 16". en-us Thu, 04 Sep 2025 09:16:37 +0000 Thu, 04 Sep 2025 09:16:37 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net No Btrfs by default in Fedora 16 https://lwn.net/Articles/454747/ https://lwn.net/Articles/454747/ rodgerd <div class="FormattedComment"> An md-cache driver.<br> </div> Fri, 12 Aug 2011 03:24:51 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454715/ https://lwn.net/Articles/454715/ cmccabe <div class="FormattedComment"> As other posters have pointed out, when snapshots are done at the filesystem level, they are done atomically. So you get a single consistent view of what the filesystem was like at a point in time. You can't get that with your script, unless you remount the filesystem as read-only while it's running-- which I don't think you want to do.<br> <p> Another thing you can't do is copy-on-write within files. Let's say your filesystem contains a bunch of 20 gigabyte virtual machine images. Between snapshot A and snapshot B, I modify 1 megabyte of data inside one of these giant images. Your hardlink script needs to copy the whole 20 gigabyte virtual machine image, since it has changed. But btrfs' copy-on-write only needs to copy the part that has changed.<br> <p> btrfs isn't the right filesystem for every application. But you should at least give it a chance.<br> </div> Thu, 11 Aug 2011 18:22:50 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454681/ https://lwn.net/Articles/454681/ anton <blockquote>isn't a copy on write approach the opposite of what one would normally choose to get high random write performance?</blockquote> No, if you read the <a href="http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.8749">position paper on log--structured file systems</a>, of which COW file systems are a generalization, write performance was the main argument for this style of file system. In particular, random writes are very slow on an in-place-updating file system, because they require many seeks. In contrast a copy-on-write file system can just write them (and their meta-data) sequentially, i.e., quickly, requiring just one seek (and maybe another one to update the root block). Of course, if you want to read the resulting files sequentially, this strategy loses; you cannot have it all. Thu, 11 Aug 2011 15:27:14 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454678/ https://lwn.net/Articles/454678/ raven667 <div class="FormattedComment"> Snapshots don't replace backups but they do compliment very well in two ways. One is that you can run your backup against the point-in-time snapshot and eliminate any inconsistancy between the backup of individual files that are being modified while the backup is running and two, you can potentially take snapshots more frequently than you can take backups. Depending on whether your backup system allows self-serivice restores, snapshots can also have the benefit of allowing a local user or admin to restore files, from accidental deletion for example, without making a round trip through your large backup system, without mounting tapes, etc.<br> </div> Thu, 11 Aug 2011 15:13:22 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454675/ https://lwn.net/Articles/454675/ nix <div class="FormattedComment"> Writing to the middle of a file always *could* lead to running out of disk space (think sparse files), and any program which can't handle it on files that others might touch is broken. (This means databases are safe: anyone who makes a DB file sparse without the RDBMS knowing about it is playing with fire.)<br> </div> Thu, 11 Aug 2011 14:30:24 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454645/ https://lwn.net/Articles/454645/ nye <div class="FormattedComment"> <font class="QuotedText">&gt;Reiserfs's main problem, for me, was that some minor FS corruption can and most probably will result in a completely unusable file system if you happen to have a FS image with a reiserfs file system on the disk</font><br> <p> Only if you use the --rebuild-tree option to reiserfsck which is explicitly designed to trawl over a partition looking for anything which might be reiserfs structures as a last resort for recovering a badly wrecked filesystem which would otherwise be a write-off.<br> <p> 'Doctor, it hurts when I do this'.<br> </div> Thu, 11 Aug 2011 12:35:33 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454640/ https://lwn.net/Articles/454640/ smurf <div class="FormattedComment"> Snapshots have the intriguing advantage that they an give you "this instant in time" file system state to back up, instead of "some random jumble of inconsistent state during whatever time the backup took to run". Combine that with FS-level transactions and you don't need to dump your database contents any more. Win.<br> <p> They also have the less-than-intriguing disadvantage that writing to the middle of a file can result in running out of disk space. Databases typically don't cope with that at all well. (Running out while extending a file, OTOH, is a well-understood problem.)<br> </div> Thu, 11 Aug 2011 12:03:03 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454639/ https://lwn.net/Articles/454639/ SLi <div class="FormattedComment"> Except that if you *do* have a feature-rich backup system, capable of backing up multiple different systems, you aren't just going to toss it out because one filesystem suddenly got some dedup support. At least I'm not going to do that, and I'm the OP :) Dedup is nice, but I really don't think it should be thought of as something that replaces higher level deduplication done by backup systems.<br> </div> Thu, 11 Aug 2011 12:00:31 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454638/ https://lwn.net/Articles/454638/ smurf <div class="FormattedComment"> Reiserfs's main problem, for me, was that some minor FS corruption can and most probably will result in a completely unusable file system if you happen to have a FS image with a reiserfs file system on the disk. Instant bad karma.<br> <p> I do hope that btrfsck will do better.<br> </div> Thu, 11 Aug 2011 11:56:52 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454606/ https://lwn.net/Articles/454606/ cmccabe <div class="FormattedComment"> I think filesystem snapshots are a good replacement for what the original poster was trying to do with rsync and hard links.<br> <p> Basically, you don't need a clever and feature-rich backup system in userspace if you have a filesystem that provides snapshots that work well.<br> <p> Of course, neither one of these things can replace a real backup to a separate physical computer or to tapes that are stored in a different place.<br> </div> Thu, 11 Aug 2011 00:33:20 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454514/ https://lwn.net/Articles/454514/ SLi <div class="FormattedComment"> That sounds like a nice idea at first, but then having a backup system inherently tied to a single filesystem is perhaps not such a great idea, especially as a clever and feature-rich backup system would still have to keep track of all the state in userspace. And still supporting hard links sanely would be quite critical for compatibility with existing systems...<br> </div> Wed, 10 Aug 2011 12:07:47 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454513/ https://lwn.net/Articles/454513/ SLi <div class="FormattedComment"> Yes, they always keep saying that in all threads that come up about this, and I've never quite understood what they mean by it. Still, I've hit this multiple times.<br> <p> What does it mean for "the file" to be in one directory and a hard link in another? For example in my backuppc setup there's a pool of files indexed and named by (basically) their SHA1 sums, and multiple hardlinked copies of the backed up filesystem state. Now as far as I can tell, if you just happen to have lots of files with the same content in one directory, you are going to hit this bug, right? As the hard link is only a reference count, it doesn't make sense to say that the file "is" in the pool directory, does it?<br> </div> Wed, 10 Aug 2011 12:03:46 +0000 On disk format vs. mount options. https://lwn.net/Articles/454487/ https://lwn.net/Articles/454487/ gmatht <div class="FormattedComment"> I am not sure what you mean. For example mount options will clearly also have an effect, and it seems likely that the performance in this particular benchmark relates to Btrfs defaulting to datacow. Btrfs also supports O(1) file copies so in many ways it has better performance than ext4.<br> <p> Fixing on disk format is clearly a priority, but that is orthogonal to performance vs. features. For example, checksumming, and the "feature" of allowing hundreds of hardlinks per directory, requires format changes. On the other hand adding a heuristic to toggle datacow probably wouldn't.<br> </div> Tue, 09 Aug 2011 22:20:46 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454485/ https://lwn.net/Articles/454485/ mrons <div class="FormattedComment"> <font class="QuotedText">&gt; Are you doing dedup using rsync on that filesystem?</font><br> <p> Yes.<br> <p> After following the threads in the above bugzilla, I see that the problem is not as severe as I thought. To quote Chis Mason:<br> <p> <font class="QuotedText">&gt; Please keep in mind this is only a limit on the number of links to a single file where the links and the file are all in the same directory</font><br> <p> So with that limit I would likely be able to re-create my filesystem on btfs, but only just.<br> </div> Tue, 09 Aug 2011 22:13:18 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454482/ https://lwn.net/Articles/454482/ raven667 <div class="FormattedComment"> Are you doing dedup using rsync on that filesystem? I don't know about btrfs but if this is the use case then is there some other way to accomplish deduped backups on btrfs?<br> </div> Tue, 09 Aug 2011 22:01:59 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454479/ https://lwn.net/Articles/454479/ mrons <div class="FormattedComment"> Wow, that limitation on hard links is hard to believe.<br> <p> I have a filesystem (ext4) that has has over 8 million hard links.<br> <p> What are they thinking here? Surely this is a mistake. <br> </div> Tue, 09 Aug 2011 21:43:53 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454465/ https://lwn.net/Articles/454465/ Lennie <div class="FormattedComment"> It will be a long time before SSD has a somewhat equal price/space ratio like HDD. So I really hope Linux gets something like bcache or flashcache or ZFS-L2ARC or whatever fits Linux best. Then we can just use HDD with SSD as a large fast cache.<br> </div> Tue, 09 Aug 2011 20:47:36 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454463/ https://lwn.net/Articles/454463/ etrusco <div class="FormattedComment"> HTree was itself the feature added. It made things better, but not spectacular...<br> </div> Tue, 09 Aug 2011 20:38:53 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454457/ https://lwn.net/Articles/454457/ cmccabe <div class="FormattedComment"> There was a feature added to ext2/ext3 called directory indexing which I think was designed to address the slowness with large directories.<br> <p> I think the ext4 multiblock allocator probably also helps the situation with directories with many small files.<br> <p> A lot of these optimizations will be less important once the world moves to SSD. On hard drives, though, keeping related stuff close together is the name of the game.<br> </div> Tue, 09 Aug 2011 20:12:02 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454447/ https://lwn.net/Articles/454447/ bcopeland <div class="FormattedComment"> Every FS has its sweet spots and corner cases. Ext3 used to be quite bad at reading large directories with many small files (the reason being that scanning the HTree returns files in approximately random disk order). Nightly backups exemplify that particular workload.<br> <p> I don't know if any changes in ext4 specifically addressed that, so perhaps it is still the case. But then all the tools starting doing sort-by-inode to sidestep the problem so it's less of a problem today.<br> </div> Tue, 09 Aug 2011 18:41:26 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454444/ https://lwn.net/Articles/454444/ iabervon <div class="FormattedComment"> Would that feature be described as "Per-file compression and nocow control"? Because that's in the 2.6.39 features list. I assume that the performance tests (and, probably, actual applications) aren't using that yet.<br> <p> </div> Tue, 09 Aug 2011 17:36:59 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454412/ https://lwn.net/Articles/454412/ SLi <div class="FormattedComment"> And I obviously mean hardlinks, not symlinks.<br> </div> Tue, 09 Aug 2011 08:29:06 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454410/ https://lwn.net/Articles/454410/ SLi <div class="FormattedComment"> I must add that performance is one of the other things that keeps me using ext4, but that's not a btrfs-only gripe.<br> <p> Seriously I have tried many other filesystems with several real-world benchmarks. In nearly all benchmarks ext4 is among the best performers, not always stellar but really good anyway. All other filesystems I have tested (xfs, jfs, btrfs) seem to perform *really* poorly in some rather pathological but realistic and real-world cases.<br> <p> For some filesystems the pathological case could be deleting huge directory structures, for others creating a lot of small files, and for many of them mass symlinking.<br> <p> The one filesystem that generally performed even better than ext* (I think ext3 at the time, which did have some performance problems) was reiser4. However on three separate occasions of mere testing use I experienced massive corruption with reiser4 when the developers had already declared it stable (Some bug was always fixed after I reported that...), so while it seemed promising at the time, I would never use it in production use without a lot of further testing.<br> <p> But then I think such performance tuning with btrfs would be premature at this point where such basic features as symlinks are not supported well enough.<br> </div> Tue, 09 Aug 2011 07:49:16 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454409/ https://lwn.net/Articles/454409/ SLi <div class="FormattedComment"> The one showstopper I have run into that definitely prevents me from using btrfs is that it limits the number of symlinks in a single directory to something ridiculously low (it depends apparently on everything including the length of the filenames, but you can hit the limit after 31 symlinks and will hit it after a few hundred).<br> <p> <a href="https://bugzilla.kernel.org/show_bug.cgi?id=15762">https://bugzilla.kernel.org/show_bug.cgi?id=15762</a><br> </div> Tue, 09 Aug 2011 07:36:34 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454407/ https://lwn.net/Articles/454407/ butlerm <div class="FormattedComment"> If you don't have performance in mind before you start designing a filesystem, nothing else will matter when you are done. The on disk format will dictate everything about how well your filesystem will perform in the real world. And of course the on disk format is the one thing that you won't be able to change.<br> </div> Tue, 09 Aug 2011 06:02:16 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454403/ https://lwn.net/Articles/454403/ dlang <div class="FormattedComment"> for firefox, the change to have a backup file and only sync the new file every few minutes would be a good change on every filesystem.<br> </div> Mon, 08 Aug 2011 23:58:21 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454398/ https://lwn.net/Articles/454398/ butlerm <div class="FormattedComment"> Random reads are not nearly as much of a problem, as long as the index pages are well cached, which they would be for relatively small files. The problem with most copy on write filesystems is that every random access involves an index lookup to locate the right data page, and the indexes for something that has experienced a lot of random writes have essentially one entry per data page. If you have very large files, that may mean two or more physical I/Os to do a random read, one to look up an uncached index page, and one to read the data page.<br> <p> It seems to me that what BTRFS needs for something like Firefox is the ability to disable copy-on-write for individual files, except when a user takes a volume snapshot. Alternatively, applications like Firefox could keep a backup database file, and only fsync the primary database file every ten minutes or so, and check on startup to see if the primary database file needs to be recovered from the backup.<br> </div> Mon, 08 Aug 2011 23:06:36 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454388/ https://lwn.net/Articles/454388/ rodgerd <div class="FormattedComment"> 1/ Optimising performance before it's feature complete would be a bit of a poor idea.<br> <p> 2/ Some of the performance is just inherent to COW filesystems. If you look at benchmarketing exercises between ZFS/OpenSolaris and btrfs/Linux with something like a Postgresql load you'll see quite comparable performance.<br> <p> 3/ I would expect btrfs, long term, to shine in the same places ZFS does, which is with many spindles, and using all the features (data integrity, snapshots, and so on).<br> <p> It feels kind of odd sticking up for btrfs. <br> </div> Mon, 08 Aug 2011 20:11:31 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454383/ https://lwn.net/Articles/454383/ brunock <div class="FormattedComment"> Yes, but BTRFS is supposed to be a general purpose file system.<br> And busy relational databases aren't a server only feature.<br> Think of your spam filter or about what Firefox does in the <br> background all the time.<br> So I guess normal users will get hit by this problem, too.<br> </div> Mon, 08 Aug 2011 19:15:19 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454375/ https://lwn.net/Articles/454375/ butlerm <div class="FormattedComment"> For all of its advantages, isn't a copy on write approach the opposite of what one would normally choose to get high random write performance? A filesystem like BTRFS is doing several times as much work for each random write. For general use, BTRFS seems like the way to go, but I can't see anyone choosing to host a busy relational database on it anytime soon. The same goes for ZFS.<br> </div> Mon, 08 Aug 2011 18:46:59 +0000 What about subvolume support in Anaconda? https://lwn.net/Articles/454370/ https://lwn.net/Articles/454370/ rahulsundaram <div class="FormattedComment"> Unlikely for Fedora 16 really consider we are nearing the Alpha release but do file a feature request. <br> </div> Mon, 08 Aug 2011 16:39:19 +0000 What about subvolume support in Anaconda? https://lwn.net/Articles/454368/ https://lwn.net/Articles/454368/ dcg <div class="FormattedComment"> That's not a problem for me, as long as it's optionally available. My problem with Btrfs and Fedora right now is that Anaconda can't handle subvolumes at all and configuring different subvolumes for different paths is only possible doing it manually after the installation.<br> <p> It would be nice if in F16 could at least add subvolume support in Anaconda...<br> </div> Mon, 08 Aug 2011 16:35:44 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454365/ https://lwn.net/Articles/454365/ masoncl <div class="FormattedComment"> It's really just juggling the features I want btrfsck to have with keeping up with QA and patch review on the kernel bits.<br> <p> We have a lot of very active development work going on, and while my all of my R&amp;D time on is fsck, I still need to patch and test the kernel parts too. I did let a few distractions creep in, such as redoing the metadata locking in 3.1-rc1, but that was a major performance bottleneck.<br> <p> I think f17 is a better choice for Fedora. We're working in parallel on the fsck and closing off the few remaining performance issues.<br> </div> Mon, 08 Aug 2011 16:08:35 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454355/ https://lwn.net/Articles/454355/ trey <div class="FormattedComment"> FYI:<br> <p> <a href="http://marc.info/?l=linux-btrfs&amp;m=131235467525138&amp;w=2">http://marc.info/?l=linux-btrfs&amp;m=131235467525138&amp;...</a><br> <a href="http://marc.info/?l=linux-btrfs&amp;m=131240481916170&amp;w=2">http://marc.info/?l=linux-btrfs&amp;m=131240481916170&amp;...</a><br> </div> Mon, 08 Aug 2011 15:58:38 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454353/ https://lwn.net/Articles/454353/ brunock <div class="FormattedComment"> Don't forget that performance also still is a major problem:<br> <p> <a href="http://free.linux.hp.com/~enw/ext4/3.0/large_file_creates.html">http://free.linux.hp.com/~enw/ext4/3.0/large_file_creates...</a><br> <a href="http://free.linux.hp.com/~enw/ext4/3.0/random_writes.html">http://free.linux.hp.com/~enw/ext4/3.0/random_writes.html</a><br> </div> Mon, 08 Aug 2011 15:48:41 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454351/ https://lwn.net/Articles/454351/ rahulsundaram <div class="FormattedComment"> $rpm -qf /sbin/btrfsck<br> btrfs-progs-0.19-13.fc15.x86_64<br> <p> It can report errors but not correct them yet. Should be there soon, I hope<br> <p> <a href="https://lists.fedoraproject.org/pipermail/devel/2011-August/155348.html">https://lists.fedoraproject.org/pipermail/devel/2011-Augu...</a><br> </div> Mon, 08 Aug 2011 15:25:51 +0000 No Btrfs by default in Fedora 16 https://lwn.net/Articles/454350/ https://lwn.net/Articles/454350/ and <div class="FormattedComment"> <font class="QuotedText">&gt; Among other things, those requirements include a working filesystem </font><br> <font class="QuotedText">&gt; checker, and that is not yet on offer.</font><br> <p> Wasn't fsck.btrfs anounced to be released RSN back in february? I wonder what keeps it back for so long...<br> </div> Mon, 08 Aug 2011 15:21:36 +0000