Comments (4)
If something shows up in directory listings, then you must have somehow got these into the OpenDir() result.
can you post the stack trace for the NPE ?
from go-fuse.
from go-fuse.
I cannot reproduce the NPE with a fresh checkout of go-fuse. Must have been caused by my debug code.
On the plus side, I can reproduce this with the loopback example (with ClientInodes enabled, patch: rfjakob@1f50fb4 , otherwise no changes)
$ ( set -e; while true; do ~/src/fuse-xfstests/ltp/fsstress -p 1 -z -f rmdir=10 -f link=10 -f creat=10 -f mkdir=10 -f rename=30 -f stat=30 -f unlink=30 -f truncate=20 -m 8 -n 1000 -d /tmp/b; rm -R /tmp/b/*; sleep 1; done )
seed = 1456229227
rm: cannot remove ‘/tmp/b/p0/d9/d2c/d6c/dbc/d130/d12d/d156/d15a/d13b/f162’: No such file or directory
rm: cannot remove ‘/tmp/b/p0/d9/d2c/d6c/dbc/d130/d12d/d156/d15a/d13b’: Directory not empty
By the way, fsstress is the one included in xfstests, you can clone it from https://github.com/rfjakob/fuse-xfstests/tree/gocryptfs/ltp .
from go-fuse.
Found a single-shot reproducer that works every time. Note that the "sleep 1" in the middle is essential and the test comes back clean without it.
~/src/fuse-xfstests/ltp/fsstress -p 1 -z -f rmdir=10 -f link=10 -f creat=10 -f mkdir=10 -f rename=30 -f stat=30 -f unlink=30 -f truncate=20 -m 8 -n 1000 -d /tmp/b -s 1456162204 ; sleep 1; rm -Rf /tmp/b/*
from go-fuse.
Related Issues (20)
- opcode POLL HOT 8
- panic: LARGEFILE (8000) overlaps with LARGEFILE (8000) HOT 2
- Loopback fs could no be used inside a tree HOT 1
- Race in Inode.Forgotten() HOT 8
- Error message when using `DirectMount: true`: writer: Write/Writev failed, err: 2=no such file or directory. opcode: RELEASE HOT 4
- Concurrent mount/unmount results in hanging HOT 15
- Support for linux FUSE_SETXATTR_EXT HOT 1
- FUSE Passthrough Support HOT 1
- Support for fuse_custom_io feature HOT 2
- Implementing Loopback FS - memory access error in path() function HOT 3
- Issues when unmounting on linux/ darwin HOT 15
- Changing filesize in Getattr Loopback HOT 2
- conflicting values on mipsel64 HOT 4
- macFUSE + LoopbackFS copying files through Finder not working HOT 7
- darwin: go-fuse/fuse.CAP_RENAME_SWAP has value 1<<25 while VFS_RENAME_SWAP has value 0x00000002
- how to use go-fuse HOT 10
- Get PID of requesting process HOT 1
- Feature request: Server.Stop in order to allow resuming in a new process HOT 3
- How to disable RENAME_SWAP HOT 1
- How to exit go-fuse process gracefully? HOT 1
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 go-fuse.