From: Ulrik M. <ulr...@gm...> - 2010-09-05 19:51:00
|
Kept googling and found a description of the problem here: http://thread.gmane.org/gmane.comp.file-systems.fuse.devel/4451 I had already tried fuse_reply_none, but reply_err(,0) wasn't really intuitive. This would be VERY useful information to put here: http://fuse.sourceforge.net/doxygen/structfuse__lowlevel__ops.html#bc49c6310cd0eaddf116988426ca21d2 Regards / Ulrik 2010/9/5 Ulrik Mikaelsson <ulr...@gm...>: > Hi, > > I'm writing a filesystem for the lowlevel fuse interface, and have > encountered problems I'm having a hard time making sense of. > Basically, it's a read-only filesystem, implementing only lookup, > release, stat, open and read. > > Everything mostly works fine, except for a very strange and > frustrating bug; the 13th open/release request hangs indefinitely. > That is, I'm select()ing on the fuse_chan_fd of the channel, and for > the 13th open(), select() on the fuse-fd in the filesystem doesn't > return. It doesn't matter what files/inodes I'm opening. Opening and > closing the same file 13 times works just as bad as 13 different > files. Just opening the same file over and over again works, but when > releasing it, the filesystem freezes again. > > Only stat:ing works with hundreds of files, so it somehow must have > something to do with my implementation of open/release, but I can't > figure what. Especially, I can't figure why exactly the 13th is always > the one to fail. Just a bad number I guess. > > Does anyone have any good hints or pointers? > > Regards > / Ulrik > |