-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
os: RemoveAll doesn't work on Plan 9? #9990
Comments
No, the system calls are all synchronous on Plan 9. This issue is related to ramfs. It doesn't happen on Fossil. Like Fossil, the ramfs file server can return a "directory not empty" error, https://github.com/0intro/plan9/blob/c0f3d9/sys/src/cmd/ramfs.c#L601 However, RemoveAll, like the rm tool on Plan 9, always removes the https://github.com/0intro/plan9/blob/c0f3d9/sys/src/cmd/rm.c#L21 I suppose there is some subtle difference between Fossil and ramfs |
Well, if plan9's filesystems are inconsistent, I think the Go os package should have workarounds for popular filesystems (like ramfs) and do the Go-like behavior and have os.RemoveAll actually work, doing whatever extra work is required to make Plan 9 happy. |
The "gomote rm" command just runs os.RemoveAll. But I had to run it several times before it completed without error.
Is deleting a file async on Plan 9? If so, that's not Go semantics.
The text was updated successfully, but these errors were encountered: