Saturday, September 29, 2012

Btrfs is really slow

Knowing Btrfs is still not default file system in any mainstream distros, I have 2 machines using it. I just love the features of subvolume, snapshot and COW (copy-on-write).

I'm not talking about everyday operations here, which (except system boot though) are hard to tell the difference between Btrfs and Ext4. When you do a major update or distribution upgrade, be aware that it may take much longer time than you expect.

I'm doing the upgrade from Ubuntu 12.04 Precise Pangolin to 12.10 Quantal Quetzal Beta 2. It took about half an hour to download new packages, which totally depends on your network bandwidth. But it's been 5 hours and the progress bar is just over half in installing the upgrades step.

I can expect the upgrade to finish within another few hours, which is not as bad as another user's experience. I don't think this issue will get addressed before Btrfs becomes default in Fedora or something, but it definitely should be solved before it becomes default. The question is, chicken or egg?


  1. Upgrading the distro consists pretty much in running dpkg, and dpkg makes heavy usage of fsync. fsync has been for a while quite slow in Btrfs. The poor performance you experienced it's probably due to that. The latest kernel releases have better fsync performance.

    1. Thank you Diego for the information. I felt that system boot is much faster in kernel 3.5 than in 3.2. I still have one machine waiting upgrade, another several hours is unavoidable. But with your encouraging information, I'm positive it'll be my last super slow upgrade.