vold for lineage-18.1 lost support for EXT4/f2fs volumes on public storage
Expected Behavior
vold should permit mounting of ext4/f2fs formatted sdcard partitions.
Current Behavior
vold in Lineage-18.1 does not have the code that was added to lineage-17.1 to support portable ext4/f2fs partitions.
Possible Solution
The following commits post merge-android-10.0.0
to LineageOS/android_system_vold appear to have not been forward-ported to LineageOS 18.x:
-
cb16b166704ba9aac2e157180f0b8fcf670406bc
vold: add support for more filesystems for public storage -
86918bf897160c65cae974cdf217ba6db1080e68
vold: Fix fsck on public volumes -
8b76898e8f79688213db5db2205c6416b59c3e39
vold: Honor mount options for ext4/f2fs partitions -
c8d267dd6fcaa4c662da77ff5d421fbfdac0a4bb
vold: Mount ext4/f2fs portable storage with sdcard_posix -
09aef344dc55a27548157f00e6ed578ea1496600
vold ext4/f2fs: do not use dirsync if we're mounting adopted storage (despite the description, this patch also tweaks adopted storage)
The following commits appear to deal with GPT support, and not ext4/f2fs explicitly:
-
9120db16cd1d52fcea8ed3449eccd92104f8bac5
vold: skip first disk change when converting MBR to GPT -
a941a184a530def4373795308fe29d76088730b5
vold: Accept Linux GPT partitions on external SD cards
I suspect forward porting the work in these patches, at least the partition recognition support would be sufficient to re-enable ext4/f2fs SDCard support for LineageOS 18. Of course, for a given rom, the shipped kernel must support ext4/f2fs or make it available via a module. For the device I was using in this report (river), both are provided by the default kernel shipping with current LineageOS nightly ROMS:
river:/ # cat /proc/filesystems | grep -E '(f2fs|ext4)'
ext4
f2fs
Steps to Reproduce
- Format a SDCard to ext4, MBR partition table, type 83 partition code
- attempt to mount said SDcard on Lineage.
/device river
/version lineage-18.1
/date 2021-0627
/kernel whatever the default lineage nightly is. uname -a reports: Linux localhost 4.9.206-perf+ #1 SMP PREEMPT Sun Jun 27 07:00:21 UTC 2021 aarch64
/baseband M632_12.52.01.86R
/mods Google Apps, F-Droid
I have read the directions