Penghentian SDCardFS

SDCardFS tidak digunakan lagi di perangkat yang diluncurkan dengan Android 11 atau yang lebih baru dan menjalankan kernel versi 5.4 atau yang lebih baru. Pada perangkat tersebut, pengujian VTS tidak mengizinkan sistem file yang terpasang tercantum sebagai SDCardFS. Perangkat yang diluncurkan dengan Android 11 atau yang lebih tinggi, tetapi menjalankan kernel versi 4.19 atau yang lebih rendah dapat terus menggunakan SDCardFS, tetapi Google tidak memberikan dukungan tambahan.

Sebelum dihentikan, SDCardFS menyediakan cara untuk mengontrol akses ke penyimpanan internal yang diemulasi dan kartu SD eksternal, sehingga aplikasi hanya dapat mengakses data yang relevan dengan aplikasi tersebut. Selain itu, hal ini memberikan lapisan ketidakpekaan terhadap huruf besar/kecil, seperti serta beberapa pelacakan penyimpanan tambahan.

Fungsi penggantian SDCardFS

Penggantian SDCardFS menggunakan beberapa fitur sistem file {i>kernel<i} Linux untuk untuk mendapatkan hasil yang sama. Ketidaksensitifitas huruf besar/kecil ditangani langsung oleh sistem file; hal ini menghasilkan waktu pencarian yang hampir identik di folder yang sensitif huruf besar/kecil dan tidak sensitif huruf besar/kecil, sehingga menghilangkan pelambatan folder besar dari SDCardFS. Tujuan pelacakan kuota yang dilakukan SDCardFS untuk dengan cepat mengumpulkan data setelan sekarang dikonfigurasi dari userspace menggunakan kuota project. Dalam beberapa konteks yang sensitif terhadap performa, direktori di-bind mount di tempat. Penerapan FUSE baru menyediakan penyimpanan terbatas untuk akses sistem file langsung, terutama untuk mendukung penyamaran informasi lokasi.

Mengonfigurasi fungsi penggantian SDCard

Untuk mengaktifkan kuota project dan penggabungan huruf besar/kecil untuk penyimpanan yang diemulasi tanpa SDCardFS di perangkat yang diluncurkan dengan Android 11 atau yang lebih tinggi, warisi dari emulated_storage.mk dalam file device.mk:

$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)

Peringatan: Jangan melakukannya di perangkat yang diluncurkan dengan Android 10 atau yang lebih rendah, karena Insensitivitas huruf besar/kecil sistem file tidak kompatibel dengan model setelan enkripsi yang digunakan pada perangkat tersebut. Anda harus terus menggunakan SDCardFS di perangkat tersebut.

Alasan penghentian SDCardFS

Ada berbagai alasan untuk menghentikan penggunaan SDCardFS.

Stabilitas

SDCardFS mengalami beberapa kondisi race terkait sensitivitas huruf besar/kecil, serta beberapa masalah terkait situasi memori rendah. Penelusuran yang tidak peka huruf besar/kecil dapat agak lambat di direktori besar karena penelusuran harus menelusuri direktori yang lebih rendah untuk menemukan kasus alternatif. Mengakses bagian atas dan bawah sistem file di waktu yang sama juga dapat menyebabkan masalah.

Kesetaraan upstream

SDCardFS memerlukan patch tambahan ke VFS untuk mendukung opsi perubahan pada mount bind. {i>Patch<i} ini menyebabkan pekerjaan tambahan untuk menerima perubahan upstream untuk area tersebut. Fitur SDCardFS dapat direplikasi oleh komponen upstream, menghilangkan {i>pain point <i}ini.

Paritas fitur dengan API

Di rilis Android sebelumnya, penyimpanan terbatas membatasi akses ke jenis-jenis {i>metadata<i}. Akses penyimpanan langsung melalui SDCardFS tidak mendukung fungsi ini fitur penyimpanan terbatas.