Filesystem support for SMR devices
Filesystem support for SMR devices
Posted May 16, 2015 16:19 UTC (Sat) by jhhaller (guest, #56103)Parent article: Filesystem support for SMR devices
Btrfs looks like it would be a good starting point for a native SMR filesystem. It's already log-based, and with the metadata separate from the actual data, can write to multiple open regions. It's not a perfect match, as reusing zones requires rewriting all of the data in the zone. This would require some changes to the defragmentation algorithms, which are focused on defragmenting tracks, and not necessarily regions, but this it likely an ordering problem. Storing the superblocks is the other challenge, as they are the root of the tree, and change frequently. Scanning the disk for the latest superblock on mount is probably not time-effective, although since it's in the metadata, may not require scanning too much data. Maintaining multiple superblocks is the other challenge, as they need to be in different regions.
The other issue with SMR is that files which are changed in the middle tend to fragment the file with log-based filesystems, as chunks of the file need to be written elsewhere, causing either much head action to read the file or frequent defragmentation of the file. The later is quite expensive for large files. Concurrent activity in multiple files also either needs multiple active regions, one per file or group of files, or the files will be interleaved and fragmented.