On Tue, May 09, 2023 at 11:50:36PM -0700, Eric Biggers wrote: > On Wed, May 10, 2023 at 01:47:58PM +0800, youling 257 wrote: > > I do more test, it is android esdfs or sdcardfs > > /storage/emulated/0/Android/data problem, > > "ext4: Stop providing .writepage hook" cause > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/imgcache.0 > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/imgcache.1 > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/imgcache.idx > > unable read, > > > > on linux 6.4, i use mount bind data/media on storage/emulated, chmod > > -R 0777 /data/media/0, rm > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/*, open > > gallery app can read pictures thumbnail, > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/imgcache.idx > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/imgcache.0 > > /storage/emulated/0/Android/data/com.android.gallery3d/cache/imgcache.1 > > available read. > > Maybe try reverting your commit that added esdfs to your kernel? It should not > be needed at all. Youling, what version of Android are you trying to run with the latest bleeding edge kernel? Starting with Android 11, sdcardfs was deprecated[1]. SDCardFS is deprecated on devices that launch with Android 11 or higher and run kernel version 5.4 or higher. On such devices, VTS testing doesn't allow mounted file systems listed as SDCardFS. Devices that launch with Android 11 or higher but run kernel version 4.19 or lower can continue to use SDCardFS, but Google doesn't provide additional support. [1] https://source.android.com/docs/core/storage/sdcardfs-deprecate With newer versions of Android, use of something like sdcardfs or esdfs is not necessary. If you are using an older version of Android, and you insist on use a bleeding edge kernel where the writepage is getting deprecated, then someone will need to update esdfs or deal with the changing internal interfaces of the upstream kernel. This is not the ext4 upstream developer's problem. Personally, I would recommend that you *not* try to fix esdfs; that's because stacking file systems like sdcardfs and esdfs are inherently unreliable. See the section in [1] entitled, "Why deprecate sdcardfs?". Instead, what I would recommend is upgrading to a newer version of Android, and then dropping esdfs from your kernel repository. - Ted