From owner-soc-status@FreeBSD.ORG Sun Jun 26 11:06:16 2011 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A1FA106564A for ; Sun, 26 Jun 2011 11:06:16 +0000 (UTC) (envelope-from iputsikau@gmail.com) Received: from mail-qy0-f182.google.com (mail-qy0-f182.google.com [209.85.216.182]) by mx1.freebsd.org (Postfix) with ESMTP id DAFDA8FC15 for ; Sun, 26 Jun 2011 11:06:15 +0000 (UTC) Received: by qyk38 with SMTP id 38so2596809qyk.13 for ; Sun, 26 Jun 2011 04:06:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to:cc :content-type; bh=3mLHh2Kki0MF9FMe/dz2WaB9dxmvrxuVBjxvelP4Gag=; b=vqf3dDIwJNLvmo/LnTN4Mw2UFz/Hh9Uj8BNSccHo4T99Keb6et7rbBkTMKwfoeoVCP qqwP+jPutT8/VDwu1sX5jQKGw+LKi+GyDT7RgLkdz43jq7pWoSZ0YM/ofiv0N0hqzgnH Hca6Wac1J3DI6xZZh40nINnNZEstrxHniB0to= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=Lkc4DVtp88lag2XsjtLP1I/UGdNOXRe8tglYKthL0TnDzsZEI4qazSYy+CagH35Ydu oFN2Y+KvcNY4u0/C0oTsg4hA/veVZL7iXUbVZZis/vWGGp+br0/Nvxd9c+miihSI/daU kwjCUIvDurommVRCFliLwvlLDw6NtfXzUgjeA= MIME-Version: 1.0 Received: by 10.229.130.3 with SMTP id q3mr3854111qcs.44.1309086375027; Sun, 26 Jun 2011 04:06:15 -0700 (PDT) Received: by 10.229.88.143 with HTTP; Sun, 26 Jun 2011 04:06:14 -0700 (PDT) Date: Sun, 26 Jun 2011 14:06:14 +0300 Message-ID: From: Ilya Putsikau To: soc-status@freebsd.org Content-Type: text/plain; charset=UTF-8 Cc: Ivan Voras , Hans Petter Selasky Subject: [fuse] Status report #5 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2011 11:06:16 -0000 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.