From owner-freebsd-current@FreeBSD.ORG Wed Nov 19 20:11:39 2008 Return-Path: Delivered-To: current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCD8D106564A for ; Wed, 19 Nov 2008 20:11:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 759098FC12 for ; Wed, 19 Nov 2008 20:11:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.3/8.14.3) with ESMTP id mAJKB3bH052213 for ; Wed, 19 Nov 2008 15:11:33 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: current@FreeBSD.org Date: Wed, 19 Nov 2008 15:10:53 -0500 User-Agent: KMail/1.9.7 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200811191510.53793.jhb@FreeBSD.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Wed, 19 Nov 2008 15:11:33 -0500 (EST) X-Virus-Scanned: ClamAV 0.93.1/8650/Tue Nov 18 23:59:50 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Subject: [PATCH] MPSAFE/LOOKUP_SHARED cd9660 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Nov 2008 20:11:39 -0000 This is a relatively simple patch to mark cd9660 MPSAFE and enable shared lookups. The changes to cd9660_lookup() mirror similar changes to ufs_lookup() to use static variables for local data rather than abusing i-node members of the parent directory. I've done some light testing of this, but not super-strenuous. This patch also includes simple locking for the iconv support in the kernel. That locking uses an sx lock to serialize open and close of translator tables and the associated refcount. Actual conversions do not need any locks, however as the mount holds a reference on the table. http://www.FreeBSD.org/~jhb/patches/cd9660_mpsafe.patch -- John Baldwin