New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Renaming or creation of file fails (Telegram won't start) #999
Comments
The mergerfs trace doesn't show interacting with the log files. Either the temp file or log.txt. Are you able to reproduce this with Telegram (or better yet simple tooling) without all that setup? |
BTW... you need to use |
I had a bunch of other issues with I now disabled the FS caching of virtiofs (server and client), because I thought maybe I get a better trace then...and instead it works now. |
As the docs mention caching could explain some of the situation but I don't know enough about virtiofs to comment without more investigation (which btw is being changed in the kernel to use basically the same codepath as FUSE filesystems) Caching shouldn't be keeping calls from reaching mergerfs generally. Especially not create calls. Would need more investigation. |
I will finish the migration and change I will also play around with caching a bit and make a few more traces. |
Turned out I got the wrong pid when doing the strace of mergerfs...There are two instances and I got the wrong one :-( These traces now both show log.txt. Traces done when the error occured (so cache back to normal) |
Oh, I also added |
use_ino impacts the inode generation. You set |
It looks like the traces are from different times. |
You're right. I'll have a look at it tomorrow, looks like I am too tired to manage it right now. |
So this is the one. Picked the wrong file yesterday, sorry for this. |
After the It's calling |
This is a trace with disabled caching, when the app works. |
Everything looks the same between the two until after the temporary file for log.txt is unlinked. After that the client tries to chmod the linked log.txt file. When caching is off it succeeds and when on it fails. It fails before it even gets to mergerfs. Interestingly, after the chmod, even in the case where the chmod fails, it tries to open log.txt to append to it. With caching it fails with ENOENT implying part of the path doesn't exist and I'm not seeing anything obvious in mergerfs causing it (or that it even gets called). |
Describe the bug
I have recently changed from nfs4 to virtiofs for some mounts (including /home) in a VM.
Since I changed the mount on the home folder, I get a weird error when starting Telegram in this VM.
It complains something about not being able to open a file:
It looks like it has something to do with mergerfs, because if I change the mount to the non-mergerfs-source, everything works.
It might be related to #989 because it sounds a bit familiar. Although this runs on an Arch Linux Server and client.
I have added an strace of the app and mergerfs, done at the same time.
I hope you can do something with them, because I am a bit lost there.
As far as I understand app.strace, the log file gets deleted and another one is moved in its place. But I don't understand the mergerfs.strace.
I can delete (
rm
) the mentioned file without any issue, and it even gets recreated when starting Telegram. But Telegram seems to see this differently.To Reproduce
I could not reproduce it with any default tools like rm, mv, ln or touch
Expected behavior
The file should get copied / moved without errors
System information:
df -h
:lsblk
A strace of the application having a problem:
app.strace.txt.gz
(sorry for zipping it, github didn't allow me to upload another txt file somehow...)
strace of mergerfs while app tried to do it's thing:
mergerfs.strace.txt
The text was updated successfully, but these errors were encountered: