-
Notifications
You must be signed in to change notification settings - Fork 3
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
Fuse mounted directory under kopia does not show contents in mc #4635
Comments
Thanks for an extensive bug report. Could you please open a bug against kopia and littlefs and link them here? We believe that there is something wrong with rewinddir implementation on these FUSE filesystems... |
Moving to current milestone while waiting for feedback. |
Replying to zaytsev:
Hi,
Thank you for getting back to me! Your responses spurred me on to investigate bisecting kopia, then on to bisect the go-fuse module on which it depends. I'm sorry I didn't do this before.
It turns out that kopia failed to work with mc, here:
go-fuse (https://github.com/hanwen/go-fuse.git) added their
###
go-fuse seemed to have fixed this bad commit here:
I can confirm that this fixes the problem for me with mc.
As you'll see, the discussion at
this is exactly the same issue with mc as I had.
I will report to kopia, upstream tomorrow as I've run out of time today.
Once again, thank you for getting back to me which spurred me to investigate further with git bisections on a go project dependency.
Forgive this next question, but is there a reason that this issue seems to occur only with mc? Is there something that is different in mc's use of readdir? Other file (horrible graphical) file managers seem to work.
Once again, thank you for all your work on mc! |
Hi,
I reported upstream to kopia, here:
===Rich |
I have added more documentation to explain what we are doing and why in [f1e08a7].
I didn't include the discussion of SA_RESTART, because 1) my understanding is not deep enough 2) I think we aren't in complete control anyways and 3) my impression from the Go issues is that it will be ignored anyways.
The bottom line is that we have to decide, if we stick to our "smart" strategy and cater CIFS & NFS users on Linux (and possibly other OSes) better, or whether we stop the rewinddir tricks and have less problems with Linux users running FUSE systems that have problems with rewinddir.
It seems that it's a game that one can't win to me. So I'll probably suggest to stay with the extra hack for CIFS / NFS and hope that FUSE filesystem authors fix their systems.
Thanks for the report and investigation, at least I think I understand our own code a little bit better now. I will close this in mc. |
Important
This issue was migrated from Trac:
rahrah
(richard1hoyle@….com)OS: Slackware64-current
LIBC: glibc-2.40
Kernel: 6.12.10
ARCH: x86_64
Description
Using mc with kopia (fuse) mounted snapshots. Cli commands work fine, but mc sees an empty directory.
I found mc 4.8.25 did not show this problem, but mc 4.8.26 did. I used a git bisection to find the issue.
Kopia
Kopia is a backup program written in Go. It uses go-fuse for its fuse kernel module interface. Backups are accessed in directory hierarchies. Inserted into the hierarchy path string are machine names and date and time stamps.
Kopia can be found here:
https://kopia.io
and
https://github.com/kopia/kopia/
The
mount -l
gives this after a kopia mount operation on my Linux test machine:
Git Bisection
I did a git bisection to find the commit causing the problem. The commit introducing the bad behaviour was:
Experimental Fix
Reverting 27de037
by using the following function fixed the problem:
Original Code
Notes on Testing
In my bisection tests, I, at first, mounted the kopia mount, then tried the various bisection builds. Doing this seemed to allow all the failed builds to work.
For more consistent test results, the kopia mount was umounted then remounted between tests. Indeed, opening the any dir in the mounted tree with a faulty local_open_dir() would certainly create the correct test conditions. Only good builds would then open the directory.
I'd be happy to provide more granular steps to reproduce this problem using kopia commands.
Possible Similar Bug
littlefs-project/littlefs-fuse#43
Thank You
Thank you for all the time and effort you put into making Midnight Commander, and distributing it under the GPL.
The text was updated successfully, but these errors were encountered: