Subject: Re: Btrfs as default file system
Date: Tuesday 11th May 2010 13:38:01 UTC (over 7 years ago)
On 5/11/2010 4:00, Ameya Palande wrote: > Hi, > > I wanted to know why Btrfs is selected as default file system for MeeGo. we made a positive choice for btrfs for a list of reasons * It's the future of Linux filesystems. We had a case where the old guard (ext3) is getting retired, and there are two new filesystmes on the table (btrfs and ext4). We felt that if we picked ext4, we'd have all the pain of a new filesystem, and we'd then change again a year later to btrfs. * BTRFS has a strong focus on data integrity, while many other filesystems focus mostly on metadata integrity. For most cases this extra focus is free, however for database applications there is a moderate performance impact. This includes things like duplicating key metadata structures on disk twice, having data checksums, can mark files as critical and for duplication (RAID1)... but basically the whole COW design (never overwrite data) means that you never get garbage in files. * BTRFS supports on-disk compression, giving both a smaller footprint (factory preload time!) as well as higher throughput on really slow storage. * BTRFS has writable snapshots. This opens the door to features in MeeGo 1.1 like atomic package updates (already a Fedora 13 feature with btrfs) but also the "Restore to factory defaults" becomes easy: just blow away the snapshot and create a new one and the device is as new. You can even use it to have "true multiple users" in the system, both users have the whole device for themselves with a boot time switch * Performance for small files. Small files are very common, and BTRFS stores these very efficiently on disk. Whereas other filesystems generally need upto 3 IOs (and thus 3 seeks if your storage rotates) to access a file, BTRFS stores everything together and needs only 1 IO. * Built in defragmentation - performance feature for things like boot time * Storage pools: Add and remove storage on the fly. (Yes even for phones this can matter... lets say you have a small flash chip you populate in the factory; this feature allows you to then expand to a secondary storage during first use as if it's one big filesystem... no more /opt issues etc) * ... well it's a long list of things that made us chose btrfs over its competition.