Fallback to regular io for sqlite3 when mmap fails #8676

Open
opened 2026-02-20 00:06:18 -05:00 by deekerman · 1 comment
Owner

Originally created by @trapexit on GitHub (Aug 17, 2024).

Originally assigned to: @Qstick on GitHub.

Is there an existing issue for this?

  • I have searched the existing open and closed issues

Author of mergerfs here. I noticed in the docs "If you are using mergerFS you need to remove direct_io as SQLite uses mmap which isn’t supported by direct_io as explained in the mergerFS docs here"

My question is... why does radarr require mmap mode in sqlite3? Would it not be better to catch the error and fall back to regular io mode (which is the default mode in sqlite3 afaiu.)

Describe the solution you'd like

Better error handling with sqlite3 usage with fallback to regular io mode when mmap fails.

Describe alternatives you've considered

Leave it as is and allow users to have broken setups.

Anything else?

Given the default mode of sqlite3 is regular read/write IO it means that requiring mmap is unnecessary and causes unnecessary complications for users.

Originally created by @trapexit on GitHub (Aug 17, 2024). Originally assigned to: @Qstick on GitHub. ### Is there an existing issue for this? - [X] I have searched the existing open and closed issues ### Is your feature request related to a problem? Please describe Author of mergerfs here. I noticed in the docs "If you are using mergerFS you need to remove direct_io as SQLite uses mmap which isn’t supported by direct_io as explained in the mergerFS [docs here](https://github.com/trapexit/mergerfs#plex-doesnt-work-with-mergerfs)" My question is... why does radarr require mmap mode in sqlite3? Would it not be better to catch the error and fall back to regular io mode (which is the default mode in sqlite3 afaiu.) ### Describe the solution you'd like Better error handling with sqlite3 usage with fallback to regular io mode when mmap fails. ### Describe alternatives you've considered Leave it as is and allow users to have broken setups. ### Anything else? Given the default mode of sqlite3 is regular read/write IO it means that requiring mmap is unnecessary and causes unnecessary complications for users.
Author
Owner

@bakerboy448 commented on GitHub (Aug 17, 2024):

cc @markus101 for upstream

@bakerboy448 commented on GitHub (Aug 17, 2024): cc @markus101 for upstream
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Radarr#8676
No description provided.