# Syncthing-Fork slow due to Android filesystem abstraction layer

**URL:** https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040
**Category:** Android
**Created:** [March 25, 2025, 6:39pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040 "2025-03-25T18:39:18Z")
**Posts on this page:** 15
**Page:** 2

<div class="post-metadata">

### Author: ![SanskritFritz](https://forum.syncthing.net/user_avatar/forum.syncthing.net/sanskritfritz/32/7099_2.png) [@SanskritFritz](https://forum.syncthing.net/u/SanskritFritz)
#### Post date: [March 29, 2025, 9:42pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/24 "2025-03-29T21:42:14Z")

</div>

Enable Developer Options on Android. If enabled, then you can issue ADB commands through an USB cable with elevated rights. The command I sent gives Syncthing Fork the permission to use legacy access to the file system which hopefully helps with the access speed.

---

<div class="post-metadata">

### Author: ![1AiiA1](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/1/cab0a1/32.png) [@1AiiA1](https://forum.syncthing.net/u/1AiiA1)
#### Post date: [March 30, 2025, 3:53pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/25 "2025-03-30T15:53:31Z")

</div>

Same problem. 1 1Gb file takes 1-2 Seconds but 50+ 2-5Mb file takes almost 15-30 Mins.

Apparently, this is an issue for Android 11 or newer but my old setup was:

- Non-fork app
- Xiaomi 12T (Android 12-14) to Pixel 1(Android 10)
- No issue regardless of file size and quantity (Average 1-15Min transfer for 1Gb+ Mixed files)

Now with the fork setup, pretty much same setup but with the issue above.

---

<div class="post-metadata">

### Author: ![pikac](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/p/e19b73/32.png) [@pikac](https://forum.syncthing.net/u/pikac)
#### Post date: [March 31, 2025, 12:43pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/26 "2025-03-31T12:43:17Z")

</div>

Does the link means that put thousands of files in `sdcard/Android/data/com.nutomic.syncthingandroid` or other path will slow down the devices?

> FUSE performance impact is limited to heavy users of files stored on external _shared_ storage only. External _private_ storage (which includes `android/data` and `android/obb` directories) is bypassed by FUSE, while internal storage (such as `/data/data`, where many apps store data to keep it encrypted and secure) isn’t FUSE mounted.
> 
> [Scoped storage &nbsp;|&nbsp; Android Open Source Project](https://source.android.com/docs/core/storage/scoped#fuse-and-sdcardfs)

I will do some expirement with termux on this.

---

<div class="post-metadata">

### Author: ![pikac](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/p/e19b73/32.png) [@pikac](https://forum.syncthing.net/u/pikac)
#### Post date: [March 31, 2025, 1:42pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/27 "2025-03-31T13:42:03Z")

</div>

For me, it is still slow in `/storage/ABCD-1234/Android/data/com.termux/files` . On the other hand, `/data/data/com.termux/files` is very fast.

Accroding to google’s docs:

[https://source.android.google.cn/docs/core/storage/fuse-passthrough](https://source.android.google.cn/docs/core/storage/fuse-passthrough)

Only the devices which initially released at/after Android 12, can benefit from FUSE passthrough, which might accelerate the access to `Android/data/*` under sdcard.

Have a good luck on this, or just root your android device and access `/mnt/media_rw/ABCD-1234`.

---

<div class="post-metadata">

### Author: ![tomasz86](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/t/96bed5/32.png) [@tomasz86](https://forum.syncthing.net/u/tomasz86)
#### Post date: [March 31, 2025, 3:36pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/28 "2025-03-31T15:36:55Z")

</div>

I think the problem is that even if you do manage to get fast file access via the `data` folder, other applications in most cases won’t be able to access them, which limits the actual usefulness of the workaround greatly (e.g. most people need to sync fixed paths like `DCIM/Camera`, etc.).

---

<div class="post-metadata">

### Author: ![bt90](https://forum.syncthing.net/user_avatar/forum.syncthing.net/bt90/32/18565_2.png) [@bt90](https://forum.syncthing.net/u/bt90)
#### Post date: [March 31, 2025, 6:33pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/29 "2025-03-31T18:33:56Z")

</div>

Camera is the only large folder which is fixed. Everything else could be solved by the Syncthing app working as a document provider.

---

<div class="post-metadata">

### Author: ![tomasz86](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/t/96bed5/32.png) [@tomasz86](https://forum.syncthing.net/u/tomasz86)
#### Post date: [March 31, 2025, 7:09pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/30 "2025-03-31T19:09:55Z")

</div>

There are more 🙂. People seem to often sync folders created in the root path on the internal storage by other apps (e.g. WhatsApp, etc.). Those are also fixed and cannot be moved.

In my case, the main problematic folders containing a large number of files are a) Joplin (a note taking application), which for syncing purposes stores thousands of tiny MD files in a single folder, and b) Radicale with its thousands of tiny ICS files (used with [https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326)).

Not sure if Joplin would be able to utilise the Syncthing app if it acted as a document provider. It wouldn’t help with Radicale for sure, as this one is used via Termux which needs direct access to the folder.

---

<div class="post-metadata">

### Author: ![slimhk45](https://forum.syncthing.net/user_avatar/forum.syncthing.net/slimhk45/32/16841_2.png) [@slimhk45](https://forum.syncthing.net/u/slimhk45)
#### Post date: [April 3, 2025, 3:39pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/31 "2025-04-03T15:39:08Z")

</div>

What do you mean by “the Camera is the only large folder which is fixed”?

Do you mean that it is not affected by the FUSE performance bottleneck of 1000+ per single folder, as written in the Android scoped storage documentation?

My use-case is to mirror files from Linux to Android. Could I mirror them to the Camera folder to avoid the bottleneck?

---

<div class="post-metadata">

### Author: ![Martchus](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Martchus](https://forum.syncthing.net/u/Martchus)
#### Post date: [April 4, 2025, 10:09am UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/33 "2025-04-04T10:09:55Z")

</div>

I understood it as this: The location of the camera folder can not be changed so we have to live with the limitation and can not make use of app-private storage sharing it via a document provider.

I still don’t know how sharing a whole folder with other apps (not just a single document) is supposed to work via a document provider, though.

---

<div class="post-metadata">

### Author: ![bt90](https://forum.syncthing.net/user_avatar/forum.syncthing.net/bt90/32/18565_2.png) [@bt90](https://forum.syncthing.net/u/bt90)
#### Post date: [April 4, 2025, 10:41am UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/34 "2025-04-04T10:41:03Z")

</div>

Isn’t that what the Storage Access Framework is supposed to provide?

[https://developer.android.com/reference/android/content/Intent#ACTION\_OPEN\_DOCUMENT\_TREE](https://developer.android.com/reference/android/content/Intent#ACTION_OPEN_DOCUMENT_TREE)

> Apps can fully manage documents within the returned directory.

---

<div class="post-metadata">

### Author: ![alswkd4](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/a/b38774/32.png) [@alswkd4](https://forum.syncthing.net/u/alswkd4)
#### Post date: [April 20, 2025, 1:03pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/35 "2025-04-20T13:03:31Z")

</div>

Using the old 1.9 fixed all speed issues on my end. Night and day.

---

<div class="post-metadata">

### Author: ![Martchus](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Martchus](https://forum.syncthing.net/u/Martchus)
#### Post date: [April 20, 2025, 5:41pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/36 "2025-04-20T17:41:33Z")

</div>

> [@bt90](#):
>
> Isn’t that what the Storage Access Framework is supposed to provide?
> 
> [Intent &nbsp;|&nbsp; API reference &nbsp;|&nbsp; Android Developers](https://developer.android.com/reference/android/content/Intent#ACTION_OPEN_DOCUMENT_TREE)

In _theory_ yes. In practice I’m not sure about the usefulness of this. I created a [custom document provider](https://github.com/Martchus/syncthingtray/blob/master/tray/android/src/io/github/martchus/syncthingtray/DocumentsProvider.java) for Syncthing Tray on Android. With this entries for Syncthing (one for the private storage on the internal storage and one for the private storage on the SD card) show up in the Android file system dialog triggered using the “intent” you mentioned.

The problem is just that not many relevant apps seem to use such an “intent”. Do you know such apps? The file explorer I’m usually using (Cx File Explorer) doesn’t seem to use that. The same counts for the file browser provided by Samsung. The “Files” app from Google shows the document provider but clicking on it just shows the associated app which is not very helpful. The gallary and music apps from Samsung also don’t seem to allow adding a media directory this way. The VLC app allows entering custom paths for the media directory and doesn’t use the storage access framework. The Samsung camera app just allows selecting between internal storage and SD card but doesn’t offer to select any specifc path.

I was able to test with apps that use [Intent &nbsp;|&nbsp; API reference &nbsp;|&nbsp; Android Developers](https://developer.android.com/reference/android/content/Intent#ACTION_OPEN_DOCUMENT) to select a single document, though. This actually seems to work but it is probably not how I’d access most of the documents I’m syncing with Syncthing.

Maybe there’s also something missing in my document provider which prevents it from being usable in file browsers and other relevant apps.

Otherwise it looks to me like this whole storage access abstraction from Android is kind of a fail. It is there in theory but not actually used by most apps. Most apps simply rely on accessing the storage directly or they use the Android media library to know what songs/images/videos are there. I think the latter also doesn’t really allow storing this kind of data in app-private locations.

---

<div class="post-metadata">

### Author: ![Martchus](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Martchus](https://forum.syncthing.net/u/Martchus)
#### Post date: [April 20, 2025, 6:17pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/37 "2025-04-20T18:17:36Z")

</div>

I did a little bit more research (before I was just testing with apps that came to mind) and was able to find an open source file browser that supports browsing document providers. I added a note on the [Syncthing Tray README](https://github.com/Martchus/syncthingtray/commit/802af33dc1cfbff86e3fb5275f75899d5156937d). After a brief look it actually seems to work but it probably needs more testing. _Maybe_ this one is even generally better than Cx File Explorer (but I guess bike shedding about file explorers is out of scope here).

---

<div class="post-metadata">

### Author: ![Rewt0r](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rewt0r/32/2526_2.png) [@Rewt0r](https://forum.syncthing.net/u/Rewt0r)
#### Post date: [April 20, 2025, 6:36pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/38 "2025-04-20T18:36:28Z")

</div>

My Galaxy Note 10 Ultra 5G and S10 Plus both performed very well with 512GB of data from.what i recall.

Im using an S24 Ultra and havent touched Syncthing for about 6 years, ill give it test on my home 2.5Gbps sym network and let you jnow if “it just works” like it used to.

---

<div class="post-metadata">

### Author: ![system](https://forum-uploads.syncthingcdn.net/original/2X/0/0b50e0a202b22ae6a67190759e8c868805b8ed9f.png) [@system](https://forum.syncthing.net/u/system)
#### Post date: [May 20, 2025, 6:37pm UTC](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040/39 "2025-05-20T18:37:21Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

[Previous page](https://forum.syncthing.net/t/syncthing-fork-slow-due-to-android-filesystem-abstraction-layer/24040.md?page=1)
