From owner-cvs-src@FreeBSD.ORG Mon Jun 30 15:42:00 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 43BEC1065758; Mon, 30 Jun 2008 15:42:00 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 209B58FC18; Mon, 30 Jun 2008 15:42:00 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5UFg04i081779; Mon, 30 Jun 2008 15:42:00 GMT (envelope-from lulf@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5UFg0MT081778; Mon, 30 Jun 2008 15:42:00 GMT (envelope-from lulf@repoman.freebsd.org) Message-Id: <200806301542.m5UFg0MT081778@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to lulf@repoman.freebsd.org using -f From: Ulf Lilleengen Date: Mon, 30 Jun 2008 15:41:57 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_7 Cc: Subject: cvs commit: src/sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jun 2008 15:42:00 -0000 lulf 2008-06-30 15:41:57 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/fs/fdescfs fdesc.h fdesc_vfsops.c fdesc_vnops.c Log: SVN rev 180121 on 2008-06-30 15:41:57Z by lulf MFC rev r179288: - Add locking to all filesystem operations in fdescfs and flag it as MPSAFE. - Use proper synhronization primitives to protect the internal fdesc node cache used in fdescfs. - Properly initialize and uninitalize hash. - Remove unused functions. Since fdescfs might recurse on itself, adding proper locking to it needed some tricky workarounds in some parts to make it work. For instance, a descriptor in fdescfs could refer to an open descriptor to itself, thus forcing the thread to recurse on vnode locks. Because of this, other race conditions also had to be fixed. Approved by: kib (mentor) Reviewed by: kib (mentor) Tested by: pho Revision Changes Path 1.20.10.1 +7 -2 src/sys/fs/fdescfs/fdesc.h 1.56.2.1 +34 -10 src/sys/fs/fdescfs/fdesc_vfsops.c 1.104.2.1 +158 -70 src/sys/fs/fdescfs/fdesc_vnops.c