Ask / Submit

[feature request] Change xperia devices filesystem to btrfs or f2fs

asked 2018-11-21 00:13:19 +0200

Jk gravatar image

updated 2018-11-21 00:43:38 +0200

Currently sailfish x uses ext4, as also almost all other sailfish devices as well. So it would be nice step to future if Jolla change their devices system filesystem more modern file system. Otherwise Jolla will be one step forward when comparing to Ios or android counterparts.

Both of these file systems have effect to device performance, especially f2fs. So in theory Sailfish could be even more faster in terms of app launch times and transfering files etc. So afterall one change bring many benefits.

Anyways Jolla should bring f2fs filesystem support for sailfish.

edit retag flag offensive close delete



Sailfish is using ext4 on LVM, if that matter :)

coderus ( 2018-11-21 08:48:04 +0200 )edit

I guess you never used a Jolla 1, or you would not be asking for btrfs.

Giacomo Di Giacomo ( 2018-11-21 10:15:12 +0200 )edit

Actually I was tested Jolla 1, but anyways btrfs is good option, Jolla 1 have problems because it uses old version of btrfs (due old kernel).

Currently btrfs is mature enought already in many applications. And oh I forget to mention that of course it's not good idea to change either btrfs or f2fs to xperia x when xperia x running old 3.10 kernel. I mainly meaned in my post xperia xa2 because it have relative new kernel (4.4). Also perhaps Jolla upgrade it even more recent version (4.9).

Same comment goes f2fs; even when it's some years newer than btrfs but it's seems to be ready for usage.

Jk ( 2018-11-22 02:17:21 +0200 )edit

Changing the os fstype on exising devices looks complicated. I'd be happy with just enabling few other fstypes from the krnl tree. JFS in particular, which worked reliably for me for +15y, proved to be fast and gentle to weak/old CPUs.

rtr2001 ( 2018-11-22 10:28:42 +0200 )edit

I think some concrete numbers and arguments rather than "more modern" need backing something as important as default file system change. Especially after the debacle with btrfs on Jolla 1.

And as for btrfs possibly maturing over time - I'm not so sure given that it never went out of technical preview in RHEL7 and was outright dropped in RHEL8:

MartinK ( 2018-11-22 12:26:20 +0200 )edit

2 Answers

Sort by » oldest newest most voted

answered 2018-11-21 02:18:58 +0200

olf gravatar image

updated 2018-11-21 17:54:37 +0200

  • BTRFS is supported on all devices with a recent SailfishOS release installed, see cat /proc/filesystems
  • Yes, "Both of these file systems have effect to device performance", as they are both slower than Ext4 for many use cases (see filesystem benchmarks at, e.g. for a kernel of the generation used by SailfishOS)!
  • I would not trust any data on F2FS, when it was very young (as with the kernel versions SailfishOS uses: Typically 3.10 and 3.4 for the Jolla 1 phone).

BTRFS was abandoned by Jolla after the Jolla 1 phone (which still uses it) presumably due to too many support troubles:
Occasional balancing needed, interrupted balancing may brick devices, practical free space can be much smaller than displayed etc.

Wanting that back plus F2FS on old kernels is calling for double trouble, IMO.

edit flag offensive delete publish link more



BTRFS has great features (snapshots, mainly) but unfortunately it has rather severe drawbacks, too...

Direc ( 2018-11-22 16:55:40 +0200 )edit

The problems that some people had with BTRFS on sbj1 were pretty much due to running out-of-space on the disk.

All filesystems go bonkers when filled to the brim; I make it a habit to always leave at least 30% leeway.

juiceme ( 2018-11-22 18:02:50 +0200 )edit

@juiceme Yes, but it is also very much possible to fill the "metadata space" of a BTRFS partition, even though there is (seems to be) unused "actual space" on the partition. Can't remember the terms... That is one of the most user-facing issues of BTRFS. It can be prevented with regular balancing, but having to manually do it, is another flaw.

I think there is a scheduled task on every tuesday night when the device is on charger, but I always do it manually (:

Direc ( 2018-11-22 18:14:13 +0200 )edit

There's cron you know :)

You could se it up to do fs balance every night just like backup by rsync...

juiceme ( 2018-11-22 18:29:20 +0200 )edit

@juiceme, the general advice is to never ever do that, as an interrupted balancing run (battery runs empty, user reboots as background balancing triggered by cron happens invisibly etc.) may completely corrupt a BTRFS filesystem and hence brick a device (it is the root filesystem we are talking about here!).

olf ( 2018-11-22 23:53:41 +0200 )edit

answered 2018-11-22 02:33:19 +0200

Jk gravatar image


You are right. In 2013 these filesystems was very much pointless. And yes not relevant to change file system for these sailfish devices what uses old kernel.

Honestly I made this question fast. Seems I forget to say that this could be done only for xperia xa2 devices or xperia x if Jolla compile kernel 4.4 or newer for it.

This answer will be very long also my english is only average so this will take time to give my whole view of this subject.

I don't currently have time to type my speech so To be continued...

edit flag offensive delete publish link more


actually even with the 3.10 kernel, btrfs is "good enough" - I've been using it since available (since 2nd release of SFX) on my uSD card, and I'm considering switching my home partition sometime in the future.

DrYak ( 2018-11-23 18:20:56 +0200 )edit
Login/Signup to Answer

Question tools



Asked: 2018-11-21 00:13:19 +0200

Seen: 613 times

Last updated: Nov 22 '18