Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Jun 2011 14:06:14 +0300
From:      Ilya Putsikau <iputsikau@gmail.com>
To:        soc-status@freebsd.org
Cc:        Ivan Voras <ivoras@gmail.com>, Hans Petter Selasky <hselasky@c2i.net>
Subject:   [fuse] Status report #5
Message-ID:  <BANLkTi=7%2BfK2MUAHcudim8rAwGxt-3tAcw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Project: Finish porting fuse

Last week I've continued merging macfuse. It seems that most important
changes are done, there things to merge like operation timeout
support, unimplemented operations index, etc.

I've also rewritten large part of file handle code. Original code was
trying to count opened file handles but it can't be done in reliable
way. All file file handles are now closed in vnop_inactive(). For
example running dbench with 4 processes have only around 20-30 opened
file handles. Which is low and adds no addition overhead for fuse
library. In fact it may be even faster because file handles do not
have to be opened or closed several times. To reduce number off used
vnodes FN_REVOKED flag is set on removed vnodes in vnop_remove and
vnop_rmdir, but such vnodes are reclaimed only in vnop_inactive.
Macfuse reclaims such vnodes immediately, which is wrong because vnode
can be removed but can have opened file handles.

File systems I used for testing work fine with name lookup cache
disabled, i.e. they are correct and do not depend on cached data. But
they fail to work if all vnodes without references reclaimed in
vnop_inactive. There is vnode lookup by inode number error I couldn't
debug.

For testing dbench and blogbench where used. blogbench freezes for all
file systems, it's expected because it waits for reply from user space
daemon with locked vnodes. Dbench is ok. File systems tested: sshfs,
ntfs-3g, encfs. Next I'll port fuse-ext2 and use version of pjdfstest
it contains for tests.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=7%2BfK2MUAHcudim8rAwGxt-3tAcw>