160 likes | 352 Views
Agenda. Btrfs FeaturesBtrfs BasicsBtrfs UtilityBtrfs on mobile devicesChallenges from meego perspectiveBtrfs Community. Features. Extent based file storageCopy on write metadata and dataSpace efficient packing of small files Subvolume/snapshotSoftware RAIDChecksums on data and metadataOpt
E N D
1. Btrfs: From Enterprise to Mobile World Xin Zhong, Chengwei Yang
Intel OTC China
2. Agenda Btrfs Features
Btrfs Basics
Btrfs Utility
Btrfs on mobile devices
Challenges from meego perspective
Btrfs Community
3. Features Extent based file storage
Copy on write metadata and data
Space efficient packing of small files
Subvolume/snapshot
Software RAID
Checksums on data and metadata
Optional transparent compression
Online resize, defragmentation, device management
Integrated multiple device support
4. Btrfs Basics Btrfs = btree fs
Btree is the core data structure for all metadata
Copy-On-Write
Ideal for clone/snapshot
Allocate at alternative localtion. Easy for allocation clustering.Allocate at alternative localtion. Easy for allocation clustering.
5. Btrfs Utility: btrfs-progs Mkfs.btrfs
Btrfs
Subvolume, device, filesystem
Btrfs-debug-tree
Btrfsck (under development)
6. Btrfs on mobile devices Data integrity
Backup/restore
Compression
SSD optimization
Performance
7. Data integrity Single device support
Crc32 checksum on data and metadata
Separate checksum tree
Checksum failure handling
Data checksum can be turned off by –o nodatasum mount option
8. Backup/Restore Space efficient due to COW
Useful for OS upgrade/revert
Steps
Create subvolume
Set default mount point
Create snapshot
Reset default mount point
9. Compression Two algorithms are supported in 2.6.38
Gzip
Lzo
Tradeoff between compression ratio and speed
Enabled by –o compress=gzip|lzo mount option
Default is gzip (-o compress)
10. Compression – space usage
11. Compression - performance
12. SSD Optimization SSD characteristic
Page for read & write (4KB)
Block for erase (64 pages)
Erase before re-write
Btrfs for SSD
Auto detection for non-rotating device
Force it by –o ssd mount option
Allocation clustered in 2M chunk In SSD mode, last allocation place inside an allocation chunk will be remembered for data. And 2M chunk will be allocated for metadata. It make write sequentially since it can not find big enough chunk backward. But it will spread out metadata and make fsck slower. So it’s not default for non-SSD device. This will cause free space fragmenation. But the problem can be reduce by merge fragment into one cluster.In SSD mode, last allocation place inside an allocation chunk will be remembered for data. And 2M chunk will be allocated for metadata. It make write sequentially since it can not find big enough chunk backward. But it will spread out metadata and make fsck slower. So it’s not default for non-SSD device. This will cause free space fragmenation. But the problem can be reduce by merge fragment into one cluster.
13. SSD Performance Explain verticle axis first. More numbers are available. No enough time to prepare for all of them.Explain verticle axis first. More numbers are available. No enough time to prepare for all of them.
14. Chanllenges from meego perspective
15. Community Development
Testing
Cooperation
Our contributions are well recognized
Patches are integrated very fast
Special case are considered
Explore more features…
16. Reference Btrfs wiki
http://btrfs.wiki.kernel.org/index.php/Main_Page
Btrfs history
https://lwn.net/Articles/342892/
PTS
http://www.phoronix.com/
http://phoronix-test-suite.com