Comments (9)
Tested preload-tmpfile on both x86_64 and aarch64, and it seems that the problem is resolved. Repeating the steps above, the files previously created with missing permissions are now created with the expected permissions. I tested the build against qbittorrent in docker for aarch64 and both qbittorrent docker and standalone qbittorrent for x86_64. Many thanks!
from mergerfs.
Probably something to do with a specific arm call. I don't have a Pi4. I'll have to see if any of my SBCs are ARM64 to check.
from mergerfs.
It'd help me a lot if you provide a strace of qbittorrent when this happens.
from mergerfs.
If you check my edit in Additional context, I was able to reproduce the issue on Arch x86_64, so I think we can eliminate ARM as a factor.
I didn't provide a strace initially, as I wasn't sure how to capture the strace at the right time for a docker-launched process, so here's a strace captured from a standalone launch of qbittorrent.
Steps to reproduce
$ killall qbittorrent
$ rm -rf .local/share/qBittorrent/ .config/qBittorrent
$ strace -fvTtt -s 256 -o /tmp/qbittorrent.strace.txt -E LD_PRELOAD=/usr/lib/mergerfs/preload.so qbittorrent
(Accept legal notice and close app)
$ find .local/share/qBittorrent/ .config/qBittorrent -perm 0
.local/share/qBittorrent/GeoDB/dbip-country-lite.mmdb
.config/qBittorrent/categories.json
.config/qBittorrent/rss/feeds.json
.config/qBittorrent/watched_folders.json
To reiterate, there is no mergerfs mount active on my system, and the .local
and .config
folders are on a standard ext4 volume.
strace log captured via above steps:
qbittorrent.strace.txt
from mergerfs.
To reiterate, there is no mergerfs mount active on my system,
Sure. This is to do with the preload.
Thank you for the trace. It's almost certainly due to qbittorrent using O_TMPFILE. I'll see what I can do about it.
from mergerfs.
What OS package are you using? I'll build one for you to test changes.
from mergerfs.
I'm using mergerfs built locally via the Arch AUR (on the aarch64 and on x86_64 alike). If it's easier for you, I can make a test build myself if you point me to the diff or test branch.
from mergerfs.
Branch preload-tmpfile
from mergerfs.
Addressed in v2.40.2
from mergerfs.
Related Issues (20)
- Merge of directory level
- MergerFS mount randomly disappears, only displays ??? when listed HOT 66
- Operation not permitted when mounting as non-root HOT 5
- Add support for "cp --reflink" HOT 4
- Failing to mount from fstab on boot, but can mount from command line HOT 5
- ubuntu 18.04 fresh install, with error HOT 1
- unable to create new files (touch: cannot touch 'test': Not a directory) HOT 6
- Hangs when overlayfs is mounted on top of mergerfs's branch HOT 7
- Mergerfs volume with a single disk pool HOT 2
- Is it possible to use 'mount -a' to rebuild a mergerfs pool that is defined in fstab? HOT 6
- Tiered caching clarification HOT 7
- mergerfs - fuse `allow_other` and security HOT 3
- Benchmarking tool HOT 3
- fluctuating write performance HOT 13
- "&" sign in dirs path HOT 3
- The Debian12 mergerfs ls&df command displays an exception. HOT 7
- FUSE passthrough HOT 3
- Android smb clients issue on remove files. HOT 4
- How can I avoid moving files across file systems (mechanical hard disks) caused by Path Preservation? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mergerfs.