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>