[rsc/plan9port] Workaround a FUSE glitch on MacOSX (issue #96)

23 views
Skip to first unread message

edouardklein

unread,
Apr 28, 2012, 6:51:58 PM4/28/12
to plan9p...@googlegroups.com
--- you can reply above this line ---

New issue 96: Workaround a FUSE glitch on MacOSX
https://bitbucket.org/rsc/plan9port/issue/96/workaround-a-fuse-glitch-on-macosx

edouardklein:

There is a glitch in FUSE for mac (whichever version I tried) that make 9pfuse crash when I try to create a new file on a fuse filesystem. The announced length is not equal to the amount of data that is truly read. The problem arises at the beginning of function readfusemsg() in src/cmd/9pfuse/fuse.c.

I submitted the problem on the OSXFuse website, if it is indeed a problem in FUSE code, maybe a new version will correct it, but 9pfuse should then be modified to use OSXFuse (see issue FIXME).

In the meantime this workaround (patch attached), similar to what is documented in the comments as a workaround for a similar problem for FUSE_INIT, should do the trick.

I stumbled upon and reproduced the bug I'm talking about by following these steps :
- Launch Inferno on computer1, instruct it to :
listen -A tcp!*!1234 { export /usr/inferno & }
- Mount the exported filesystem on the Mac :
9pfuse -D 'tcp!computer1!1234' ~/tmp/mnt/
- Try to create a new file on the exported filesytem :
echo Hello > ~/tmp/mnt/NewFile.txt
- The end of 9pfuse debug output :
readfusemsg: got 70 wanted 64
- Try again with different new file length and notice that the difference between what was wanted and what was got changes accordingly.



--

This is an issue notification from bitbucket.org. You are receiving
this either because you are the owner of the issue, or you are
following the issue.
Reply all
Reply to author
Forward
0 new messages